看下面code:
代碼如下:
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>TestPage</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#btn1").unbind('click').removeAttr('onclick').click(function() {
alert('The method has invoked by Jquery.');
});
});
function foo()
{
alert('The method has invoked.');
}
</script>
</head>
<body>
<input type="button" value="ClickMe" id="btn1" onclick="foo()" />
</body>
</html>
用的就是unbind,然後再removeAttr,最後再加上你的方法。來看下它們API document:
unbind([type], [fn])
概述
bind()的反向操作,從每一個匹配的元素中刪除綁定的事件。
如果沒有參數,則刪除所有綁定的事件。
你可以將你用bind()注冊的自定義事件取消綁定。
如果提供了事件類型作為參數,則只刪除該類型的綁定事件。
如果把在綁定時傳遞的處理函數作為第二個參數,則只有這個特定的事件處理函數會被刪除。
參數
type (可選)String
事件類型
fn (可選)Function
要從每個匹配元素的事件中反綁定的事件處理函數
removeAttr(name)
概述
從每一個匹配的元素中刪除一個屬性
參數
nameString
要刪除的屬性名
簡單的就是:
代碼如下:
$("#someelement").unbind('eventname').removeAttr('event').click(function() {
//your new method.
});
希望對您有幫助。