假设我有以下div
。
<div id="123" class="abc">Foobar</div>
我知道我可以执行此操作,以便在div
被鼠标悬停时触发功能:
$(".abc").bind({
mouseenter : SomeFunction(id)
});
有了这个,在SomeFunction
运行之前,我希望能够提取出这个div
的id,即“123”,并将其作为参数传递给{{1}它要处理。我能这样做吗?
答案 0 :(得分:4)
$('.abc').bind('mouseenter', function() {
SomeFunction($(this).attr('id'));
});
或者,如果您真的想要事件映射语法:
$('.abc').bind({
mouseenter: function() {
SomeFunction($(this).attr('id'));
}
});
答案 1 :(得分:2)
$(".abc").on({
mouseenter : function() {
var id = this.id;
//or just
SomeFunction(this.id);
}
});
从jQuery 1.7开始,.on()方法是首选方法 将事件处理程序附加到文档。对于早期版本, .bind()方法用于直接将事件处理程序附加到 元件。
答案 2 :(得分:2)
$(".abc").bind('mouseenter', function() {
var id = this.id;
})
根据你的问题
$(".abc").bind({
mouseenter : function() {
SomeFunction(this.id)
}
});
答案 3 :(得分:1)
$(".abc").bind('mouseenter', function() {
var id = $(this).attr('id');
});
答案 4 :(得分:1)
$('.abc').bind('mouseenter', function() {
SomeFunction(this.id);
});
答案 5 :(得分:1)
您无需将其传递给该函数。有一种简单的方法。
$(".abc").bind({
mouseenter : SomeFunction /* This might be a new way for you.
But its very useful sometimes */
});
function SomeFunction()
{
var id = $(this).attr("id"); /* You can access $(this) in this function.
Here the $(this) will refer to the bound
element (i.e. of class ".abc")
*/
}
简单!