作家
登录

jquery应该如何来设置改变按钮input的onclick事件

作者: 来源:www.28hudong.com 2013-03-30 00:18:59 阅读 我要评论

jquery应该如何来设置按钮input的onclick事件?比如开始时有个按钮: <input id=”prebt” type=”button” value=”上一页” onclick=”ToPage(2)”/>这行代码是在程序后台生成的,和Discuz!NT论坛源码中的做法一样,页面上所有的东西连同脚本都是由后台代码生成..然后用jquery.ajax加载到页面上来..其他的除了ie8不能显示之外..其它浏览器都正常.现在的问题是:要动态改变这个上一页按钮中onclick的函数.我自己是尝试了很多种方法,都没有做出来,下面列举的几个都是失败的例子: 1.JavaScript code: 复制代码 代码如下: $(“#prebt”).unbind(“onclick”,function(){var p= $(“#nextbt”).parent();$(“#nextbt”).remove(); p.append(“<input id=”nextbt” type=”button” value=”编辑” onclick=”ToPage(14)”/>”)}); JavaScript code: $(“#prebt”).removeAttr(“onclick”); $(“#prebt”).attr(“onclick”,”ToPage(4)”); 或者: $(“#prebt”).attr(“onclick”,”"); $(“#prebt”).attr(“onclick”,”ToPage(4)”); 2.JavaScript code: 复制代码 代码如下: $(“#prebt”).removeAttr(“onclick”); $(“#prebt”).click(function(){ToPage(4)}); //此句会导致死循环..不知是怎么回事.. //我做的分页功能…这样写导致数据一直在乱跳,应该怎样来解决呢? 实在是没有办法了,只能是在网上发布了相关的请求,有朋友问我,是否我要的效果就如下面的: 复制代码 代码如下: $(“#prebt”).unbind(“onclick”); $(“#prebt”).bind(“onclick”,”ToPage(4)”); 其实我要的效果就是跟上面的一样的,但是上面的方法跟我原本的效果是差不多的,也是没办法执行,而且根本都绑定不上去. 又有热心的网友给了一个我代码例子,说是对我有帮助,如下的细节: XML/HTML code: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript"> //<![CDATA[ function toPage(id){alert(id);} $(function(){ $('#btndemo').removeAttr('onclick').unbind('click').click(function(){ toPage(1); }) }) //]]> </script> </head> <body> <input id="btndemo" type="button" value="click" onclick="toPage(4)" /> </body> </html> 以上在ie8中测试时,单击时候结果为1,即使是这样,但是还不是我原本所想要的效果。难道是真的没有方法可以实现了吗? 最终我还是自己给想出了一个比较笨的方法,可以实现的,如下: 复制代码 代码如下: <span id=”prespan”><input id=”prebt” type=”button” value=”上一页” onclick=”ToPage(2)”/></span> 然后后台程序自自动把prespan中的内容替换掉. 复制代码 代码如下: $(‘#prespan').empty(); $(‘#prespan').append(“<input id=”prebt” type=”button” value=”上一页” onclick=”ToPage(4)”/>”); 虽然没有用到设置onclick.但最后还是解决了我的难题。

  推荐阅读

  不同的jQuery API来处理不同的浏览器事件

在今天的网络浏览器处理事件是有点困难的一部分,不同的浏览器以不同的方式处理事件。因此,要克服这些跨浏览器的问题,人们可以利用jQuery的事件处理API。 jQuery是一个小的JavaScript库,提供了广大的API来处理不>>>详细阅读


本文标题:jquery应该如何来设置改变按钮input的onclick事件

地址:http://www.17bianji.com/kaifa2/JS/22856.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)