為什么測試三中的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上的事件了嗎??感覺怪怪的?
2018-08-04
e是event,event.target才指向觸發時間的元素。。前面都在說些啥
2017-04-02
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)
? ? })
? ? }
2017-03-22
e指的是當前執行的dom
2017-03-22
這么給你說吧,e是個新東西,可以寫成任何形式比如ABC,沒有任何意義,當個盒子傳入,裝入了事件本身,然后他成了一個類,里面有很多屬性,方法,調用函數,他裝什么就是什么東西,那個1111是把e.date的值改成了1111