作者s5846125 (陸奧鬼一)
看板Ajax
標題[問題] jQuery 的 attr 與 bind
時間Tue Aug 25 21:33:02 2009
這是原本的寫法:
<img src="xxxx"
onmouseover="showtrail('XXXX',YY,ZZ);"
onmouseout="hidetrail();" />
後來改成這樣:
<img src="xxxx" onload="imgInit(this);" />
javascript 用了三種寫法才找到解決方法。
function imgInit(obj) {
// XXXX 是一個字串, YY ZZ 是 計算出來的數字
// 寫法一: (在 FF 可以執行,在IE 會沒有反應)
jQuery(obj).attr({
onmouseover:"showtrail('XXXX',YY,ZZ);",
onmouseout:"hidetrail();"
});
// 寫法二: (在 FF、IE,都可以執行)
jQuery(obj).bind("mouseover",function(){
eval("showtrail('XXXX',YY,ZZ);");
}).bind("mouseout",function(){
hidetrail();
});
// 寫法三: (在 FF、IE,都可以執行)
jQuery(obj).mouseover(function(){
eval("showtrail('XXXX',YY,ZZ);");
}).mouseout(function(){
hidetrail();
});
}
這樣是不是代表 .bind("mouseover", fn()) 跟 .mouseover(fn())
都是綁成 method,而 .attr("mouseover",fn) 只是綁成 attrib,不會有反應?
如果是的話,就寫法一的結果,是不是代表 Firefox 跟 IE 的處理方式有不同?
有請板上高手解答。謝謝///////////!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.111.92
1F:推 tomin:我試的結果一樣 IE無法用attr綁事件 08/25 23:10
2F:→ s5846125:但是在 firefox,寫法一可以執行。 08/26 00:45