javascript - 在添加的 jQuery 函数中,我可以知道触发的 DOM 对象吗?

标签 javascript jquery

我添加了一个简单的功能:

$.postAndVerify = function(url)
{
    // this.event. ?
}

$('#myButton').click(function() {
    $.postAndVerify('/url');
});

在其中,我如何知道调用者对象,即#myButton?我当然知道它可以直接通过:

$.postAndVerify = function(url, $triggeredBy)
{
}

$('#myButton').click(function() {
    $.postAndVerify('/url', $(this));
});

但是这会产生大量的样板代码。

最佳答案

您可以通过将方法分配给 $.fn 而不是 $ 来使其成为插件方法

$.fn.postAndVerify = function(url){
    console.log(this)// jQuery object 
}

$('#myButton').click(function() {
   $(this).postAndVerify('/url' );
});

或者您可以使用Function#bind()

关于javascript - 在添加的 jQuery 函数中,我可以知道触发的 DOM 对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53351498/

相关文章:

javascript - 不使用 Object.entries() 返回键值对数组的数组

javascript - for 循环中的引用数组生成悬停事件

javascript - 如何用JavaScript打开动态生成<input ="file"/> HTML

javascript - JQuery keyup() keydown() 和 keypress() 不适用于 iPad 和蓝牙键盘

javascript - 按对象属性值对数组进行数字排序

javascript - 打开一个 js 变量的保存文件对话框

javascript - 如何在 AngularJS 中实现图像不能通过浏览器 URL 拖动的图像限制?

javascript - document.ready 内部 body 标签

javascript - HTML 中的透明彩色前景?

jquery - 如何使用 jQuery 滑动 div 关闭/打开页面