Jquery 我可以在一行中使用两个事件吗?
我希望在keyup和change上采取行动 下面的语句适用于keyup事件。我想在零钱时复制它 有没有一个简单的方法来实现这一点Jquery 我可以在一行中使用两个事件吗?,jquery,Jquery,我希望在keyup和change上采取行动 下面的语句适用于keyup事件。我想在零钱时复制它 有没有一个简单的方法来实现这一点 $("#YourName").keyup(function() { ThisValue = $(this).attr("value"); if (ThisValue.length > 0) { ThisValue = "<b>From:</b><br /> " + ThisValue;
$("#YourName").keyup(function() {
ThisValue = $(this).attr("value");
if (ThisValue.length > 0) {
ThisValue = "<b>From:</b><br /> " + ThisValue;
$("#YourNameValid").html(ThumbsUp);
} else {
ThisValue = "";
$("#YourNameValid").html("");
}
$("#YourNameText").html(ThisValue);
});
$(“#YourName”).keyup(函数(){
ThisValue=$(this.attr(“值”);
如果(ThisValue.length>0){
ThisValue=“From:
”+ThisValue;
$(“#YourNameValid”).html(拇指);
}否则{
该值=”;
$(“#YourNameValid”).html(“”);
}
$(“#YourNameText”).html(ThisValue);
});
函数yourEventHandler(){
ThisValue=$(this.attr(“值”);
如果(ThisValue.length>0){
ThisValue=“From:
”+ThisValue;
$(“#YourNameValid”).html(拇指);
}否则{
该值=”;
$(“#YourNameValid”).html(“”);
}
$(“#YourNameText”).html(ThisValue);
}
$(“#YourName”).keyup(yourEventHandler).change(yourEventHandler);
上面使用一个公共函数作为事件处理程序传递给每个事件。或者,您可以使用bind
(请参阅),它接受多个事件作为第一个参数。试试这个
$("#YourName").bind('keyup change', function() {
ThisValue = $(this).val();
if (ThisValue.length > 0) {
ThisValue = "<b>From:</b><br /> " + ThisValue;
$("#YourNameValid").html(ThumbsUp);
} else {
ThisValue = "";
$("#YourNameValid").html("");
}
$("#YourNameText").html(ThisValue);
});
$(“#YourName”).bind('keyup change',function(){
ThisValue=$(this.val();
如果(ThisValue.length>0){
ThisValue=“From:
”+ThisValue;
$(“#YourNameValid”).html(拇指);
}否则{
该值=”;
$(“#YourNameValid”).html(“”);
}
$(“#YourNameText”).html(ThisValue);
});
我倾向于不使用“绑定”。这似乎更老派。不过,它确实工作得很好。谢谢当您想为多个事件附加相同的处理程序时,单独使用bind并没有什么错。无论如何,谢谢。我刚刚实现了这个答案。它对我非常有效。谢谢你这么快就说清楚了。
$("#YourName").bind('keyup change', function() {
ThisValue = $(this).val();
if (ThisValue.length > 0) {
ThisValue = "<b>From:</b><br /> " + ThisValue;
$("#YourNameValid").html(ThumbsUp);
} else {
ThisValue = "";
$("#YourNameValid").html("");
}
$("#YourNameText").html(ThisValue);
});