Jquery替換已存在于element上的event的方法
更新時間:2010年03月09日 21:08:16 作者:
如何替換獲去除那些已存在于某個element上的事件呢? 需要的朋友可以參考下面的文章。
看下面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()的反向操作,從每一個匹配的元素中刪除綁定的事件。
如果沒有參數(shù),則刪除所有綁定的事件。
你可以將你用bind()注冊的自定義事件取消綁定。
如果提供了事件類型作為參數(shù),則只刪除該類型的綁定事件。
如果把在綁定時傳遞的處理函數(shù)作為第二個參數(shù),則只有這個特定的事件處理函數(shù)會被刪除。
參數(shù)
type (可選)String
事件類型
fn (可選)Function
要從每個匹配元素的事件中反綁定的事件處理函數(shù)
removeAttr(name)
概述
從每一個匹配的元素中刪除一個屬性
參數(shù)
nameString
要刪除的屬性名
簡單的就是:
$("#someelement").unbind('eventname').removeAttr('event').click(function() {
//your new method.
});
希望對您有幫助。
復(fù)制代碼 代碼如下:
<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()的反向操作,從每一個匹配的元素中刪除綁定的事件。
如果沒有參數(shù),則刪除所有綁定的事件。
你可以將你用bind()注冊的自定義事件取消綁定。
如果提供了事件類型作為參數(shù),則只刪除該類型的綁定事件。
如果把在綁定時傳遞的處理函數(shù)作為第二個參數(shù),則只有這個特定的事件處理函數(shù)會被刪除。
參數(shù)
type (可選)String
事件類型
fn (可選)Function
要從每個匹配元素的事件中反綁定的事件處理函數(shù)
removeAttr(name)
概述
從每一個匹配的元素中刪除一個屬性
參數(shù)
nameString
要刪除的屬性名
簡單的就是:
復(fù)制代碼 代碼如下:
$("#someelement").unbind('eventname').removeAttr('event').click(function() {
//your new method.
});
希望對您有幫助。
您可能感興趣的文章:
- Jquery中Event對象屬性小結(jié)
- jquery事件preventDefault()方法用法實例
- jQuery.event兼容各瀏覽器的event詳細(xì)解析
- jquery中event對象屬性與方法小結(jié)
- JQuery事件e參數(shù)的方法preventDefault()取消默認(rèn)行為
- jquery 關(guān)于event.target使用的幾點說明介紹
- Jquery阻止事件冒泡 event.stopPropagation
- jquery利用event.which方法獲取鍵盤輸入值的代碼
- jquery下為Event handler傳遞動態(tài)參數(shù)的代碼
- jQuery源碼分析之Event事件分析
- 利用jQuery的$.event.fix函數(shù)統(tǒng)一瀏覽器event事件處理
- jQuery.event.trigger()的簡單解釋
相關(guān)文章
ASP.NET jQuery 實例9 通過控件hyperlink實現(xiàn)返回頂部效果
ASP.NET jQuery 實例9 通過控件hyperlink實現(xiàn)返回頂部效果的實現(xiàn)代碼,需要的朋友可以參考下2012-02-02jQuery實現(xiàn)鼠標(biāo)移到元素上動態(tài)提示消息框效果
當(dāng)光標(biāo)移動到某些元素上時,會彈出像tips的提示框,這種效果想必大家都有見到過吧,下面有個不錯的示例,大家可以感受下2013-10-10jquery入門——事件機制之事件中的冒泡現(xiàn)象示例解釋
事件被觸發(fā)后被分為兩個階段,一個是捕獲(Capture),另一個是冒泡(Bubbing),但大多瀏覽器并不是都支持捕獲階段,因此事件被觸發(fā)后,往往執(zhí)行冒泡過程,感興趣的朋友可以了解下,或許對你學(xué)習(xí)事件機制有所幫助2013-02-02