jquery的on()来给脚本添加的元素绑定事件

jquery的on()来给脚本添加的元素绑定事件
首先得绑定静态的父元素,然后通过selector参数指定触发的元素,那么在触发的函数里,如何表示点击的对象?
例子:

<p>
    <a></a>(这些a标签是js添加进来的)
    <a></a>
    ...
</p>

那么按照on的用法,应该是这样写:

$("p").on("click","a",function(){
    //我这里要用到点击的a元素对象
    $(this)//这个指的是p元素而不是我具体点击的a元素,如果要取得a元素对象,该怎么办?
})
阅读 2.6k
3 个回答
$("p").on("click", "a",function(e){
    console.log($(this))             // => 點擊的 <a>
    console.log($(e.target))         // => 點擊的 <a>
    console.log($(e.delegateTarget)) // => <p>
})

你可能要再檢查下~

这里的this是指向a的,
你是怎么判断不是a的?

$(".widget-invite p").on("click","a",function(){
  console.log($(this));
  console.log(e.currentTarget);
  return false;
});
$(".widget-invite p").append("<a>测试</a>");

当前问题详情页面添加后点击新加的测试

点击的p标签下面的a标签,this指向的是a。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题