javascript - 当函数和选择器不在一起时使用 "this"

标签 javascript jquery

有了这个

示例 1

$("#my_div").on("click", function () {
    alert( $(this).attr("id") )
});

我们得到了正确的结果,但如果我使用这个:

示例2

function thisId () {
    alert( $(this).attr("id") )
}

$("#my_div").on("click", function () {
    thisId();
});

现在结果未定义。请告诉我,当使用 this 的选择器和函数被编写为不同的表达式时(如示例 2 中所示),我应该如何使用 this

最佳答案

为了让 jQuery 将元素引用传递给函数,您必须提供函数作为引用。试试这个:

$("#my_div").on("click", thisId);

@bot 更新

function thisId (event) {
    alert( $(this).attr("id") )
    alert(event.type);
}

$("#my_div").on("click", thisId);

关于javascript - 当函数和选择器不在一起时使用 "this",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13294350/

相关文章:

javascript - 解析带引号的简单 json 时出现语法错误?

javascript - 在 JavaScript 中为饼图设置数据格式问题

jquery - Ajax 重新加载 iframe

jQuery SlideToggle 使用 .on 到特定高度

Javascript/JQuery 填充数组许多元素

javascript - 为如何使用您的网站制作教程的产品/系统

javascript - SmtpJs API 不工作!有什么方法可以使用带有 JavaScript 或 JQuery 的 SMTP 服务器发送电子邮件

jQuery 和 .length>0

javascript - 根据使用ajax选择的值填充多个字段

jquery - 我想让一个 div 在 Bootstrap 中滚动到顶部