Javascript 使用jQuery直接绑定函数与包装器。为什么';这不管用吗?
我的代码:Javascript 使用jQuery直接绑定函数与包装器。为什么';这不管用吗?,javascript,jquery,binding,Javascript,Jquery,Binding,我的代码: var cardFrame = { element: "VALUE", flip: function(){ console.log("flip: "+this.element); }, }; 当按钮与此行绑定时,单击它将按其应有的方式打印flip:VALUE $("#flashcard").bind( "click", function(){cardFrame.flip();} ); 如果与下面的行绑定。按钮打印flip:undefine
var cardFrame = {
element: "VALUE",
flip: function(){
console.log("flip: "+this.element);
},
};
当按钮与此行绑定时,单击它将按其应有的方式打印flip:VALUE
$("#flashcard").bind( "click", function(){cardFrame.flip();} );
如果与下面的行绑定。按钮打印flip:undefined
$("#flashcard").bind( "click", cardFrame.flip );
这两种说法在功能上应该相等。这是为什么?这里的问题是不同的范围(此值) 在第一种情况下,该值根据需要指向对象cardFrame 在第二种情况下,这指向#flashcard元素,因为它直接用于事件中 要了解正在发生的事情,请执行以下操作:
var cardFrame = {
element: "VALUE",
flip: function(){
console.log(this);
},
};
您将看到这两种情况下的值是不同的。这里的问题是不同的范围(此值) 在第一种情况下,该值根据需要指向对象cardFrame 在第二种情况下,这指向#flashcard元素,因为它直接用于事件中 要了解正在发生的事情,请执行以下操作:
var cardFrame = {
element: "VALUE",
flip: function(){
console.log(this);
},
};
您将看到这两种情况下的值是不同的。这里的问题是不同的范围(此值) 在第一种情况下,该值根据需要指向对象cardFrame 在第二种情况下,这指向#flashcard元素,因为它直接用于事件中 要了解正在发生的事情,请执行以下操作:
var cardFrame = {
element: "VALUE",
flip: function(){
console.log(this);
},
};
您将看到这两种情况下的值是不同的。这里的问题是不同的范围(此值) 在第一种情况下,该值根据需要指向对象cardFrame 在第二种情况下,这指向#flashcard元素,因为它直接用于事件中 要了解正在发生的事情,请执行以下操作:
var cardFrame = {
element: "VALUE",
flip: function(){
console.log(this);
},
};
您将看到这两种情况下的值是不同的。它不相等,“this”在这两种情况下是不同的
在第一个函数中,“flip”被称为“cardFrame”的方法,因此在函数“this”中是对象“cardFrame”
在第二个示例中,jQuery传递的“this”是您将click事件附加到的元素
你可以读到它是不相等的,在这两种情况下,“这”是不同的
在第一个函数中,“flip”被称为“cardFrame”的方法,因此在函数“this”中是对象“cardFrame”
在第二个示例中,jQuery传递的“this”是您将click事件附加到的元素
你可以读到它是不相等的,在这两种情况下,“这”是不同的
在第一个函数中,“flip”被称为“cardFrame”的方法,因此在函数“this”中是对象“cardFrame”
在第二个示例中,jQuery传递的“this”是您将click事件附加到的元素
你可以读到它是不相等的,在这两种情况下,“这”是不同的
在第一个函数中,“flip”被称为“cardFrame”的方法,因此在函数“this”中是对象“cardFrame”
在第二个示例中,jQuery传递的“this”是您将click事件附加到的元素
您可以阅读已弃用的
绑定。您应该在
事件处理程序上使用<代码>绑定
还是在幕后调用它<代码>$(“#flashcard”)。在('click',cardFrame.flip)上代码>bind
已弃用。您应该在事件处理程序上使用<代码>绑定
还是在幕后调用它<代码>$(“#flashcard”)。在('click',cardFrame.flip)上代码>bind
已弃用。您应该在事件处理程序上使用<代码>绑定
还是在幕后调用它<代码>$(“#flashcard”)。在('click',cardFrame.flip)上代码>bind
已弃用。您应该在事件处理程序上使用<代码>绑定
还是在幕后调用它<代码>$(“#flashcard”)。在('click',cardFrame.flip)上代码>