Jquery替換已存在于element上的event
來源:程序員人生 發布時間:2014-03-13 22:40:34 閱讀次數:3459次
如何替換獲去除那些已存在于某個element上的事件呢? 看下面code:
1: <head>
2: <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
3: <title>TestPage</title>
4: <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>
5: <script type="text/javascript">
6: $(document).ready(function() {
7: $("#btn1").unbind('click').removeAttr('onclick').click(function() {
8: alert('The method has invoked by Jquery.');
9: });
10: });
11: function foo()
12: {
13: alert('The method has invoked.');
14: }
15: </script>
16: </head>
17:
18: <body>
19: <input type="button" value="ClickMe" id="btn1" onclick="foo()" />
20: </body>
21:
22: </html>
用的就是unbind,然后再removeAttr,最后再加上你的方法。來看下它們API document:
unbind([type], [fn])
概述
bind()的反向操作,從每一個匹配的元素中刪除綁定的事件。
如果沒有參數,則刪除所有綁定的事件。
你可以將你用bind()注冊的自定義事件取消綁定。
如果提供了事件類型作為參數,則只刪除該類型的綁定事件。
如果把在綁定時傳遞的處理函數作為第二個參數,則只有這個特定的事件處理函數會被刪除。
參數
type (可選)String
事件類型
fn (可選)Function
要從每個匹配元素的事件中反綁定的事件處理函數
removeAttr(name)
概述
從每一個匹配的元素中刪除一個屬性
參數
nameString
要刪除的屬性名
簡單的就是:
1: $("#someelement").unbind('eventname').removeAttr('event').click(function() {
2: //your new method.
3: });
希望對您有幫助。
Author:Petter Liu http://wintersun.cnblogs.com
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈