javascript - 如何通过 jquery 传递 'this' 元素。 ('click' ) 到内部函数

标签 javascript jquery

如果我有一个元素,比如

<div class='some_class' onclick='executeF(this)'/>

这是否等同于:

$('.some_class').on('click',function(e){
    executeF(this);
});

$('.some_class').on('click',function(e){
    executeF(e);
});

$('.some_class').on('click',function(e){
    executeF($(this));
});

我现在没有办法测试这个,所以我只是想在继续我的编码之前确保直接对应的 jquery 方法是什么,因为(再次)我无法测试这个现在

最佳答案

$('.some_class').on('click',function(e){
    executeF(e);
});

在上面的代码中,e 代表事件对象。要获取当前 DOM 元素,您需要使用 e.currentTarget

This 代表触发事件的 DOM 元素。

$(this) 将为您提供 jQuery 的元素数组。可以

你可以在下面的代码中测试它:

function Click(el) {
  console.log(el)
}

$(".some_class").on("click", function(e) {
  console.log("Event: ", e);
  console.log("Current Target of Event: ", e.currentTarget);
  console.log("this: ", this);
  console.log("$(this): ", $(this));
})
div {
  height: 100px;
  width: 100px;
  border: 1px solid silver;
  margin: 10px;
  padding: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div onclick="Click(this)">JS</div>
<div class="some_class">JQuery</div>

希望这对您有所帮助!

关于javascript - 如何通过 jquery 传递 'this' 元素。 ('click' ) 到内部函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34241574/

相关文章:

javascript - Nodejs 中的 Passport 身份验证

javascript - 在故事书中用 react native 矢量图标 react native 网络问题

javascript - 如何将所有导入的模块存储在一个文件中

javascript - jquery select change event when get selected 选项

javascript - 在元素的背景上随机播放 youtube 视频

javascript - 透明的谷歌齿轮场景验证

javascript - 如何从 Facebook 页面名称获取 Facebook 页面 ID

javascript - knockout 保护可观察

jquery - 使用 jQuery 的 ReplaceWith 函数后如何获取 id 或 class?

Javascript 对象数量