我正在尝试从jQuery中的事件中解除绑定onclick处理程序,以便稍后将其绑定到另一个函数。jquery unbind click
我已经分离的代码测试页,所以没有什么,但肉类,只需调用一个函数和一个脚本,尝试取消绑定一个按钮:
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript">
</script>
<script src="../../Scripts/jquery-1.3.2.js" type="text/javascript">
</script>
<script type="text/javascript" language="javascript">
$(document).ready(function() { $("#btnNext").unbind('click'); });
function hi() {window.alert("hi");}
</script>
</head>
<body>
<input id="btnNext" type="button" value="Next" onclick="hi();" />
</body>
</html>
任何人知道为什么点击无论我在document.ready中说过什么,事件都会不断调用hi()函数?
谢谢
你的意思是说任何设置在声明模式下的东西都不能像这样解除绑定吗? – antonioh 2009-04-24 09:29:37
正确,你可能可以通过$(“#btnNext”)。attr('onclick','')解除绑定,但是最好能够用jQuery来完成所有的绑定。它更干净,更容易混淆。容易忘记你的属性中添加的JavaScript。 ;) – 2009-04-24 09:32:09