javascript - 调用函数时如何设置jQuery this?

标签 javascript jquery

使用 jQuery,我设置链接标记的点击处理程序如下:

$('#lnk').click(handleClick);

handleClick 做这样的事情:

function handleClick() {
    var $this = $(this);
    ...
}

现在我需要在被点击的#lnk 之外直接调用 handleClick()。有没有办法在调用 handleClick 时设置 this

最佳答案

您可以使用 apply()call() :

handleClick.call(theElementThatShouldBeThis);

当然 theElementThatShouldBeThis 必须是 DOM 元素或接受作为 jQuery() 输入的东西。

如果您正在访问 handleClick 内的 event 元素,它会变得更加棘手。但我只是假设你没有 ;)

您还可以通过调用 $('#lnk').click()(模拟点击)始终在 #lnk 的上下文中执行事件处理程序.

关于javascript - 调用函数时如何设置jQuery this?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3945281/

相关文章:

javascript - 尝试在 AngularJS 上调用函数时出错

javascript - 如何解决php中图片不显示的问题?

javascript - Jqueryui 对话框 "resizeable: false"不起作用?

jquery - 在 jQuery 中解析没有任何键的 JSON

javascript - 将背景添加到 svg 折线

javascript - 为什么这个函数被 linter 认为是构造函数?

javascript:参数值更改会导致参数值更改吗?

javascript - 如何在多个 fabric js Canvas 的情况下管理内存?

JavaScript 错误 : Uncaught TypeError: Cannot set property 'value' of null

javascript - 如何在 javascript 中制作图像脸鼠标?