炊烟1
2017-03-22 20:28
<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上的事件了吗??感觉怪怪的?
e是event,event.target才指向触发时间的元素。。前面都在说些啥
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)
})
}
e指的是当前执行的dom
这么给你说吧,e是个新东西,可以写成任何形式比如ABC,没有任何意义,当个盒子传入,装入了事件本身,然后他成了一个类,里面有很多属性,方法,调用函数,他装什么就是什么东西,那个1111是把e.date的值改成了1111
jQuery基础(三)—事件篇
89997 学习 · 625 问题
相似问题