国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jQuery 相關控件的事件操作分解

2024-05-06 14:14:31
字體:
來源:轉載
供稿:網友
今天突然對他的事件產生了興趣,先前也碰到過,也沒整理,今天有空就弄一下咯。

對于控件的事件,jQuery已經提供了豐富的方法,包括綁定、一次綁定、觸發等,阿拉今早看看叫一哪能用額伐,大蝦路古就可以了。

jQuery的綁定事件非常方便,有bind、live、one還有它幫你把一些常用的事件給單獨了出來,比如控件的onclick事件,我們綁定onclick事件的時候只需要
代碼如下:
$("#testButton").click(function() {
alert("I'm Test Button");
});

就這樣我們在testButton這個按鈕上綁定了onclick事件,執行alert語句。我們也可以使用$("#testButton").click();來觸發這個onclick事件,一切都非常ok啦。以上有點sb了,接下來看看取消事件。jQuery有unbind的方法,專門來取消綁定的,也就是取消事件,按照上面的例子的話,應該使用:$("#testButton").unbind("click");恩,看上去非常好,如果你的click有2個事件的話,你還可以使用unbind("click", fnName)來刪除特定函數的綁定。為什么有這個取消特定函數的方法呢,我們來看下例子,我們會發現,javascript的事件,跟C#的事件如出一轍,事件的綁定是疊加(+=) 而不是覆蓋。
代碼如下:
var Eat = function() {
alert("我要吃飯");
}

var PayMoney = function() {
alert("先付錢");
}

jQuery(document).ready(function() {
$("#testButton").click(Eat);
$("#testButton").bind("click", PayMoney);
});

通過上面的例子,我們發現會先彈出:“我要吃飯”緊接著會彈出“先付錢”,說明它的綁定是通過onclick+=fn進行的。我們修改下ready的方法:
代碼如下:
jQuery(document).ready(function() {
$("#testButton").click(Eat);
$("#testButton").unbind();
$("#testButton").bind("click", PayMoney);
});

又出錯了,呵呵,這次點擊按鈕的話,只會執行PayMoney,不會執行Eat,那如果把unbind()放在bind后面的話,這樣這個按鈕就不會起作用了。但如果我要去掉綁定的PayMoney方法呢?這時候我們應該這樣寫:
代碼如下:
jQuery(document).ready(function() {
$("#testButton").click(Eat);
$("#testButton").bind("click", PayMoney);
$("#testButton").unbind("click", PayMoney);
});

嘿嘿,跟bind其實一個樣,不過接下來你將看到一個bug(我不知道算不算),讓我們近距離體驗一下
代碼如下:
<input id="testButton" type="button" value="Test Button" onclick="Eat();" /> 
<script type="text/javascript"> 
jQuery(document).ready(function() {
$("#testButton").unbind("click", Eat);
$("#testButton").unbind();
$("#testButton").bind("click", PayMoney);
});
</script> 

大家猜猜,會顯示什么?吃飯?付錢?答案是Eat -> PayMoney,?。。。∥疫@里取消了綁定,又刪除了特定的綁定,為什么還會執行Eat呢?其中的原由要看jQuery的類庫了,我估計它只刪除了通過JQuery綁定的那些事件了,呵呵。那這時候我們該如何呢?好在jQuery有很多方法,其中一個就是attr,他是對Dom元素的屬性進行操作,我們利用attr來消除input上的click事件。 $("#testButton").attr("onclick", "");這樣就可以把onclick事件清除了,記住,attr上因為是元素的屬性,所以這里要寫 “onclick” 而不是click,因為click是jQuery封裝好的簡寫方式。好了,綁定就到這里了,弄個場景,大家也好記得住點:一日,老應、老趙、老陳出去吃飯,吃飽了,喝足了,準備付錢了,這時候
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 甘洛县| 松潘县| 三穗县| 武鸣县| 来凤县| 凤凰县| 莎车县| 庆元县| 诸城市| 甘南县| 广平县| 错那县| 甘洛县| 逊克县| 青河县| 遂平县| 邯郸县| 元阳县| 翼城县| 临洮县| 金溪县| 衡南县| 纳雍县| 霍邱县| 靖江市| 盖州市| 宝坻区| 霍城县| 衡山县| 邢台市| 会同县| 大港区| 荔波县| 蛟河市| 增城市| 湘潭县| 义乌市| 启东市| 浮山县| 潮州市| 唐河县|