作者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