亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為何點第二個button不會出發第一個div的off('mousedown')

兩個都是綁定的button,點第一個可以觸發第二個div的off()刪除全部事件

那點第二個button為什么觸發不了第一個的off("mousedown")呢

正在回答

5 回答

前兩位朋友 ··· 你們和我看的代碼不一樣嘛··我的沒動過的代碼是這樣的··只有一個script

<!DOCTYPE?html>
<html>

<head>
????<meta?http-equiv="Content-type"?content="text/html;?charset=utf-8"?/>
????<title></title>
????<style>
????.left?div,
????.right?div?{
????????width:?100%;
????????height:?50px;
????????padding:?5px;
????????margin:?5px;
????????float:?left;
????????border:?1px?solid?#ccc;
????}
????
????.left?div?{
????????background:?#bbffaa;
????}
????
????.right?div?{
????????background:?yellow;
????}
????</style>
????<script?src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>

<body>
????<h2>刪除事件</h2>


????<h4>測試一</h4>
????<div?class="left">
????????on('mousedown?mouseup')
????????<div?class="aaron">點擊觸發</div>
????</div>
????<button>點擊刪除mousedown事件</button>
????<script?type="text/javascript">
????var?n??=?0;
????//綁定事件
????$(".aaron:first").on('mousedown?mouseup',?function(e)?{
????????$(this).text(?'觸發類型:'?+??(e.type)?+?",次數"?+?n)
????????++n;
????})

????//刪除事件
????$("button").click(function()?{
????????$(".aaron:first").off('mousedown')
????})
???
????</script>



????<h4>測試一</h4>
????<div?class="left">
????????on('mousedown?mouseup')
????????<div?class="aaron">點擊觸發</div>
????</div>
????<button>點擊銷毀所有事件off</button>
????<script?type="text/javascript">
????var?n??=?0;
????//綁定事件
????$(".aaron:last").on('mousedown?mouseup',?function(e)?{
????????$(this).text(?'觸發類型:'?+??(e.type)?+?",次數"?+?n)
????????++n;
????})

????//刪除事件
????$("button").click(function()?{
????????$(".aaron:last").off()
????})
???
????</script>
</body>

</html>


0 回復 有任何疑惑可以回復我~
#1

C0EEC3F7BBAA 提問者

看錯了··確實有兩個script···但是 第一個script加載時候還沒有第二個button··但第一個script里的卸載確能把第二個button事件全卸載了 第二個script加載時已經有第一個button了··但第二個script里的卸載off()卻不能卸載第一個button里的
2016-08-26 回復 有任何疑惑可以回復我~

第一個script結構體加載的時候只有一個button,所以第一個script里面的事件綁定只給了第一個button;第二個script結構體加載的時候已經有了兩個button,所以第二個script結構體里面的事件綁定給了兩個button;因此第一個button綁定了兩個click事件,第二個button只綁定了一個click事件;

4 回復 有任何疑惑可以回復我~

因為這兩個btn的事件放在2個script結構體里面,前面的對后面有影響,后面的對前面沒有影響。

我測試了一下,當把兩段script代碼放在一個結構體里面時,兩個btn的隨便點擊哪一個,效果都是一樣的,互相影響。

1 回復 有任何疑惑可以回復我~

同問 是什么原理 順序的問題嗎

0 回復 有任何疑惑可以回復我~

$("button").click(function() {

? ? ? ? $(".aaron:last").off()

? ? })

//一共兩個div,指定解綁**class為“aaron”的最后一個元素**的全部事件,不卸載第一個元素的事件


0 回復 有任何疑惑可以回復我~
#1

C0EEC3F7BBAA 提問者

你可能沒太看懂的問的意思,我是說它的觸發對象都是$('button')也就是兩個button按鈕都綁定了··第一個button能觸發第二個的off()事件,但第二個button不能觸發第一個的off('mousedown')事件
2016-08-05 回復 有任何疑惑可以回復我~
#2

C0EEC3F7BBAA 提問者

你看下代碼,是$('button')綁定的兩個button按鈕,而不是$('button:first')和$('button:last')這樣分著綁定的、 所以不是應該隨便點哪個button都觸發第一個div的off('mousedown')和第二個div的off()嘛
2016-08-05 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為何點第二個button不會出發第一個div的off('mousedown')

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號