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

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

為什么測試三中的e指向的是按下按鈕事件,但是測試二中的e指向的是按下p元素而不是按下按鈕?

? ? <h4>測試二</h4>

? ? <div class="test2">

? ? ? ? <p>$('button:first').mousedown(function(e) {alert(this)})</p>

? ? </div>

? ? <button>指定觸發事件</button>

? ? <script type="text/javascript">

? ? $('p').mousedown(function(e) {

? ? ? ? ? ? alert(e.target.textContent)

? ? ? ? })

? ? ? ? //this指向button元素

? ? $("button:eq(1)").mousedown(function() {

? ? ? ? $('p').mousedown() //指定觸發綁定的事件

? ? })

? ? </script>



? ? <h4>測試三</h4>

? ? <div class="test3">

? ? ? ? <p>$('.right').mousedown(1111, set)</p>

? ? </div>

? ? <button>不同函數傳遞數據</button>

? ? <script type="text/javascript">

? ? //不同函數傳遞數據

? ? function data(e) {

? ? ? ? alert(e.data) //1111

? ? }


? ? function a() {

? ? ? ? $("button:eq(2)").mousedown(1111, data)

? ? }

? ? a();

如題,是因為測試二中調用了事件,被觸發的事件(e)是綁定在p上的;而測試三中調用的是函數,函數本身不是一個事件(e),所以函數的(e)就指向綁定在button上的事件了嗎??感覺怪怪的?

正在回答

4 回答

e是event,event.target才指向觸發時間的元素。。前面都在說些啥

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

e是event的意思,是當前執行的事件

測試二:

$('p').mousedown(function(e) {

? ? ? ? ? ? alert(e.target.textContent)

? ? ? ? })

是p元素的mousedown事件,后面button的觸發事件也是p元素的啊。

測試三:

function data(e) {

? ? ? ? alert(e.data) //1111

? ? }


? ? function a() {

? ? ? ? $("button:eq(2)").mousedown(1111, data)

? ? }

相當于:

function a() {

? ? ? ? $("button:eq(2)").mousedown(1111,function(e) {

? ? ? ? alert(e.data)

? ? })

? ? }


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

e指的是當前執行的dom

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

這么給你說吧,e是個新東西,可以寫成任何形式比如ABC,沒有任何意義,當個盒子傳入,裝入了事件本身,然后他成了一個類,里面有很多屬性,方法,調用函數,他裝什么就是什么東西,那個1111是把e.date的值改成了1111

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

舉報

0/150
提交
取消

為什么測試三中的e指向的是按下按鈕事件,但是測試二中的e指向的是按下p元素而不是按下按鈕?

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

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

幫助反饋 APP下載

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

公眾號

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