jQuery上的键不触发

jQuery上的键不触发

我有一个输入和一个附加的事件处理程序,由于某种原因,keyup事件无法正常工作。我已经看了一段时间,无法弄清楚问题出在哪里。当我在输入框中输入内容时,警报窗口甚至没有显示。

$(function () {
    var tagField = $("#<%= EditTagNum.ClientID %>"); //asp.net code to get the generated client ID

    $(tagField).on('keyup paste cut', function () {
        alert('inside event handler');
        var _this = this;
        //because the paste event fires before the text has actually been
        //pasted, I have to set a timeout. Once the timeout occurs, the text
        //has then been entered into the input box.
        setTimeout(function () {
            var text = $(_this).val();
            $(_this).val(text.replace(/\D/g, ''));
        }, 0);
    });
});




更新:
我将代码更改为直接使用生成的客户端ID:


  $(“#ctl00_ContentPlaceHolder1_EditTagNum”)。on(.....


这没有解决问题。但是我确实发现,一旦我在控制台中运行了事件处理程序功能,它就会起作用。这是事件处理程序从未附加的状态。但是,当我在chrome中调试时,我看到它到达了附加处理程序的函数。它只是永远不会进入它的内部。

最佳答案

您可以检查是否可行:

$(tagField).keyup(function() {


代替

$(tagField).on('keyup paste cut', function () {

关于javascript - jQuery上的键不触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19665224/

10-12 00:52