您需要使处理程序已知,如下所示:
它的工作方式是加载窗口,jQuery(document).ready(function() {//code})
然后命令调用作为其参数给出的函数。该函数在运行时会找到元素,在这种情况下是您的英语和德语按钮,并为它们提供一些click
事件发生时的协议。这就是bind("event",my_named_handler)
函数的作用。参数是"event"
描述您正在等待的事件类型的参数,处理程序是将处理事件的函数。如果您将此分配为函数,bind("click",function(){//code})
则该函数将保持匿名且无法引用。你打电话时unbind("click",my_named_handler)
您的代码将查找已链接到您的元素的处理程序并将其删除。如果您已经使用匿名函数的方式,那么您将无法通过任何简单的方法进行引用。通过在变量中定义您的处理程序,您可以将相同的处理程序传递给bind
and undbind
,使链接和取消链接发生,因为该函数确切地知道您在这两种情况下引用的处理程序。
是将bind("event",handler)
元素链接到事件侦听器的函数,并且
var german_handler = function() {
// do german clicky stuff
};
var english_handler = function() {
// do english clicky stuff
};
jQuery(document).ready(function() {
$('#German').bind("click",german_handler);
$('#German').bind("click",function() {
$('#German').unbind("click",german_handler);
});
$('#English').bind("click",english_handler);
$('#English').bind("click",function() {
$('#German').bind("click",german_handler);
});
});
此外,最好使用#German
而不是a#German
,id
标签通常应该是唯一的。