假设我有以下内容div
。
<div id="123" class="abc">Foobar</div>
我知道我可以这样做以在div
鼠标悬停时触发一个功能:
$(".abc").bind({
mouseenter : SomeFunction(id)
});
有了这个,在SomeFunction
运行之前,我希望能够提取出 this 的 id div
,即“123”,并将其作为参数传递SomeFunction
给它以供处理。我可以这样做吗?
假设我有以下内容div
。
<div id="123" class="abc">Foobar</div>
我知道我可以这样做以在div
鼠标悬停时触发一个功能:
$(".abc").bind({
mouseenter : SomeFunction(id)
});
有了这个,在SomeFunction
运行之前,我希望能够提取出 this 的 id div
,即“123”,并将其作为参数传递SomeFunction
给它以供处理。我可以这样做吗?
$('.abc').bind('mouseenter', function() {
SomeFunction($(this).attr('id'));
});
或者,如果您真的想要事件映射语法:
$('.abc').bind({
mouseenter: function() {
SomeFunction($(this).attr('id'));
}
});
$(".abc").on({
mouseenter : function() {
var id = this.id;
//or just
SomeFunction(this.id);
}
});
从 jQuery 1.7 开始,.on() 方法是将事件处理程序附加到文档的首选方法。对于早期版本,.bind() 方法用于将事件处理程序直接附加到元素。
$(".abc").bind('mouseenter', function() {
var id = this.id;
})
根据你的问题
$(".abc").bind({
mouseenter : function() {
SomeFunction(this.id)
}
});
$(".abc").bind('mouseenter', function() {
var id = $(this).attr('id');
});
$('.abc').bind('mouseenter', function() {
SomeFunction(this.id);
});
您不需要将其传递给函数。有一个简单的方法。
$(".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")
*/
}
简单的!