当我尝试将“this”(元素触发)作为参数发送给函数时,函数接收“Object [Document build.php]”作为参数而不是触发的元素。 请让我知道我的错:
function set(arg) {
var element = arg.data.param;
console.log(element);
}
$(".build_icon_container").on("mouseenter", {param: $(this)}, set);
答案 0 :(得分:4)
当您尝试执行$(this)
时,this
不会引用您将事件处理程序绑定到的元素。
这简单得多:
事件处理程序中的 this
已经引用了正确的元素:
function set(event) {
console.log(this);
}
$(".build_icon_container").on("mouseenter", set);
jQuery有一套很好的关于事件处理的教程:http://learn.jquery.com/events/event-basics/。