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

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

關于n的次數問題 ???? var n = 0; //綁定事件 $(".aaron:last").on('mousedown mouseup', function(e) { $(this).text( '觸發類型:' + (e.type) + ",次數" + ++n) ++n; })

為什么點擊后松開 n是3而不是2???

當我寫這樣的時候,顯示的n的結果是2

$(this).text( '觸發類型:' + ?(e.type) + ",次數" + ++n)


老師的源碼寫這樣的時候,顯示的n的結果是3。結尾多了++n 是想說明什么?

?$(this).text( '觸發類型:' + ?(e.type) + ",次數" + ++n)?++n;


<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:last").click(function() {

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

? ? })

? ?

? ? </script>


正在回答

3 回答

你的順序有些問題,先是n==1,顯示,然后n==2,這都是mousedown事件的執行過程。

$(this).text( '觸發類型:' + ?(e.type) + ",次數" + ++n)

? ? ? ? ++n;

仔細看你的源碼,你再++n一次之后就輸出了,所以在顯示了1之后mousedown事件還沒有結束,會接著執行++n;之后才會結束,這時候n==2。之后你松開了鼠標觸發了mouseup事件。這時也是先執行$(this).text( '觸發類型:' + ?(e.type) + ",次數" + ++n)這句。所以顯示的是(在n==2之后)++n的值也就是3。之后執行++n;n==4結束mouseup事件。


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

淡水狗 提問者

非常感謝!
2017-07-17 回復 有任何疑惑可以回復我~
#2

沫荼 回復 淡水狗 提問者

你看明白了就好
2017-07-17 回復 有任何疑惑可以回復我~

先是n==0,不是1

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

當你按下鼠標時觸發mousedown,++n,n==1,顯示1,之后++n,n==2,松開鼠標時觸發mouseup,++n,n==3,顯示3,之后++n,n==4.

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

淡水狗 提問者

當按下鼠標時觸發mousedown,++n,n==1,顯示1這個能理解,那 $(this).text( '觸發類型:' + (e.type) + ",次數" + ++n)++n; n==2是因為括號內的n==1了再加上括號外面的++n 等于2是嗎? 如果是這樣的話那松開時 n==3加上外面的++n 不就等于4嗎? 怎么一開始還是顯示3?
2017-07-17 回復 有任何疑惑可以回復我~
#2

沫荼 回復 淡水狗 提問者

字數限制我寫下面了
2017-07-17 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于n的次數問題 ???? var n = 0; //綁定事件 $(".aaron:last").on('mousedown mouseup', function(e) { $(this).text( '觸發類型:' + (e.type) + ",次數" + ++n) ++n; })

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

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

幫助反饋 APP下載

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

公眾號

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