jquery应该如何来设置改变按钮input的onclick事件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)”);
其实我要的效果就是跟上⾯的⼀样的,但是上⾯的⽅法跟我原本的效果是差不多的,也是没办法执⾏,⽽且根本都绑定不上去.
⼜有热⼼的⽹友给了⼀个我代码例⼦,说是对我有帮助,如下的细节:
jquery实现ajaxXML/HTML code:
复制代码代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>⽆标题⽂档</title>
<script type="text/javascript" src="leapis/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.但最后还是解决了我的难题。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论