Я собираюсь орехи, просто пытаясь отвязать обработчик onclick от события в jQuery, чтобы впоследствии связать его с другой функцией.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>
Кто знает, почему щелчок событие продолжает вызывать функцию hi() независимо от того, что я сказал в документе.
Благодаря
Вы имеете в виду что-либо, установленное в декларативном режиме, нельзя отменить? – antonioh
Правильно, возможно, вы сможете отвязать его с помощью $ ("# btnNext"). Attr ('onclick', '') ... но лучше сделать все свое привязку к jQuery. Это намного чище и менее запутанно. Легко забыть о javascript, который вы добавили в свои атрибуты. ;) –
Ницца, теперь я понимаю, почему это не сработало. Я сделаю привязку, как вы говорите. Благодаря! – antonioh