2017-02-27 68 views
3

我有一个非常简单的函数试图在文本框更改时触发的问题。这似乎是一个常见问题,但大部分时间似乎围绕顶部$(document).ready正在丢失。但是,这是困扰着我。我有许多其他JQuery元素正确触发,但这个似乎并不想要。任何想法家伙?JQuery在更改,键盘不能触发

detection: <input type="text" placeholder="detect value" name="txt_detection" id="txt_detection"> 
$(document).ready(function() { 
    $('#txt_detection').on('change, keyup', function(){ 
    alert "oops!"; 
    }); 
}); 

我有一个小提琴太:https://jsfiddle.net/hzmjjzd9/

任何帮助感激地接受。

回答

3

你的代码有两个问题。首先on()接受每个事件的单个字符串,这是空间分隔,而不是逗号分隔。其次,当您致电alert()时,您会错过方括号。试试这个:

$(document).ready(function() { 
    $('#txt_detection').on('change keyup', function() { 
     alert("oops!"); 
    }); 
}); 

Working example

+0

非常感谢 - 非常感谢Rory。 – ianv

+0

他也没有在他的jsfiddle中包含jquery库。 –

0

如果这两个问题解决了单一事件的变化是什么如下,
你的jsfiddle可是没有jQuery库和您的警报的语法是错误的。

$(document).ready(function() { 
    $('#txt_detection').on('input', function() { 
    alert("oops!"); 
    }); 
}); 

这里是工作jsfiddle

试试看,这应该有效。

Document-ready Document

+0

谢谢你们,这真的很有用。无法增加声誉是因为我的人数太少。 – ianv

+0

你可以试试看;) – rahulsm