jquery事件方法在IE下无效的情况

骚还是公骚骚 2012-10-25 03:38:17
<input id="sortLastPage" class="button" type="button" value="尾页"/>

$("#"+type+"LastPage").attr("onclick","goTo"+type+"Page("+(total)+")");

这里第一行代码是"尾页"的按钮。下面是关于尾页的jquery代码。在谷歌和火狐上点击尾页的按钮都是正常的,在IE上无效。

换成click 和 prop 这样的都是无效的。很诡异。
...全文
518 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
桃园闲人 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 2 楼 的回复:

你是想给这个input绑定事件吧,响应事件是动态拼接的,建议你使用bind方法。

$("#"+type+"LastPage").bind("click", eval("goTo"+type+"Page("+(total)+")"));

lz试试这个方法,首先你动态拼接了函数名,但是它是一个字符串,不是一个JS对象。所以在IE下可能不会当做函数来解析。
……
[/Quote]
没影响就好,我记得加括号的话,程序运行到绑定函数时会调用一下的。你测试一下看看,不知道我记得对不?
骚还是公骚骚 2012-10-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

你是想给这个input绑定事件吧,响应事件是动态拼接的,建议你使用bind方法。

$("#"+type+"LastPage").bind("click", eval("goTo"+type+"Page("+(total)+")"));

lz试试这个方法,首先你动态拼接了函数名,但是它是一个字符串,不是一个JS对象。所以在IE下可能不会当做函数来解析。

$("#"+type+"……
[/Quote]
正解。。。我看到你解释的第一感觉就是正解,我觉得 “它是一个字符串,不是一个JS对象。所以在IE下可能不会当做函数来解析。”,所以我赶紧去尝试了一下。这个函数会一直执行,后台一直运行。我没见过这个现象。就是和死循环差不多的情况。还有JS绑定函是不用加括号的。这个好像影响不大。
奇妙无比 2012-10-25
  • 打赏
  • 举报
回复
2楼正解。
桃园闲人 2012-10-25
  • 打赏
  • 举报
回复
还有在JS中绑定函数是不加括号的吧?
桃园闲人 2012-10-25
  • 打赏
  • 举报
回复
你是想给这个input绑定事件吧,响应事件是动态拼接的,建议你使用bind方法。

$("#"+type+"LastPage").bind("click", eval("goTo"+type+"Page("+(total)+")"));

lz试试这个方法,首先你动态拼接了函数名,但是它是一个字符串,不是一个JS对象。所以在IE下可能不会当做函数来解析。

$("#"+type+"LastPage").attr("onclick",eval("goTo"+type+"Page("+(total)+")")); 这样应该也可以,你试试看。

还有在JS中绑定函数是加括号的吧?如果加括号在绑定的时候就会调用,在你触发事件的时候也会调用。
AlexMoonshadow 2012-10-25
  • 打赏
  • 举报
回复
先判断一下呗,ie和火狐用的内核是不一样滴,很多变量都不通用。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧