我必须使用jQuery的keyup事件来检测用户是否输入了任何文本,但我的问题是如果用户使用鼠标粘贴文本,它将无法检测到,你能告诉我原因吗?
这是我的源代码:
$("textarea").keyup(function(){
if($(this).val().length !== 0){
$('#submit').attr('disabled',false);
我必须使用jQuery的keyup事件来检测用户是否输入了任何文本,但我的问题是如果用户使用鼠标粘贴文本,它将无法检测到,你能告诉我原因吗?
这是我的源代码:
$("textarea").keyup(function(){
if($(this).val().length !== 0){
$('#submit').attr('disabled',false);
显然,有些情况下jQuery无法用于粘贴。您可能需要绑定多个事件,如下面的参考示例所示,以准确地捕获用户的粘贴内容。
来自Soliciting Fame - jQuery keyup vs bind - (from way-back machine)
// detect the change
$('input#myId').bind("change keyup input",function() {
// handle events here
});
更新:在Jquery 3.0中,bind
已被弃用,并被on
替代
// detect the change
$('input#myId').on("change keyup input",function() {
// handle events here
});
$('submit')
是无效的。 - Mr. Alien