我将我的网络应用程序转移到Bootstrap,但我遇到了下一个问题。
on('click')事件不会将任何上下文和事件源传递给触发函数。
$('#'+target+'_HID.box.flipped:visible a').click(function(e){
console.log('otroclick',e,this)
})
这会触发console.log消息,但是这个消息是空的,在按钮引导之前事件变得相当正常。 在链接之前它们是按钮但是同样的事情发生了。
答案 0 :(得分:1)
我假设您希望处理程序中的this
值与设置事件的代码的this
值相同?如果是这样,您可以使用bind
轻松实现此目的。 Bind允许您预先设置函数的this
值(还可以选择咖喱参数)。
$('#'+target+'_HID.box.flipped:visible a').click(function(e){
console.log('otroclick',e,this)
}.bind(this));
这会将处理程序的this
值设置为当前this
值。
就像所有好东西一样,IE8不支持bind
,所以如果你需要支持那堆,你需要从here获取一个垫片。
答案 1 :(得分:0)
这工作正常,我已经测试了这个
$( "#target" ).click({a:5}, function(evt) {
console.log( "------------" );
console.log( this, evt );
console.log( evt.data );
});
你可以检查一下 http://api.jquery.com/visible-selector/
您可能需要更新jquery