Javascript JQuery类选择器

Javascript JQuery类选择器,javascript,jquery,Javascript,Jquery,我有一个html文本框,其中一些文本框的类名为numbers <input type="text" name="msg_timeout" class="numbers" /> 请让我知道你的想法下面的代码 $(document).ready(function() { $('input.numbers').each(function() { $(this).get(0).oncontextmenu = function() { return false;

我有一个html文本框,其中一些文本框的类名为numbers

<input type="text" name="msg_timeout" class="numbers" />
请让我知道你的想法下面的代码

$(document).ready(function() {


    $('input.numbers').each(function() {

        $(this).get(0).oncontextmenu = function() { return false; };
           $(this).bind("keydown",function(event) {
           // alert(window.event);

            // Allow only backspace and delete
            if ( event.keyCode == 46 || event.keyCode == 8  
                    && (event.keyCode >=96 && event.keyCode <=105) ) 
            {
                // let it happen, don't do anything
            }
            else {
                // Ensure that it is a number and stop the keypress
                if (event.keyCode < 48 || event.keyCode > 57 || event.shiftKey || event.ctrlKey || event.altKey ) {
                    event.preventDefault(); 
                }   
            }

            var forbiddenKeys = new Array('c', 'x', 'v');
            var keyCode = (event.keyCode) ? event.keyCode : event.which;
            var isCtrl;
            isCtrl = event.ctrlKey;
            if (isCtrl) {
                for (i = 0; i < forbiddenKeys.length; i++) {
                    if (forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) {
                        //alert('You are prompted to type this twice for a reason!');
                        return false;
                    }
                }
            }
            return true;
        });
   });

});
$(文档).ready(函数(){
$('input.numbers')。每个(函数(){
$(this).get(0).oncontextmenu=function(){return false;};
$(this.bind(“keydown”),函数(事件){
//警报(窗口事件);
//仅允许退格和删除
如果(event.keyCode==46 | | event.keyCode==8

&&(event.keyCode>=96&&event.keyCode您不需要显式地迭代所有匹配的元素来为它们分配事件处理程序。以下方法可以实现此目的:

// bind a keydown handler to all input elements with class 'numbers'
$("input.numbers").keydown(function() {
    // handler implementation here
});

您是否在dom.ready之后调用选择器

$(document).ready(function() {
    $('input.numbers').keydown(function() {
        // code here
    });
});

如果没有
$(document).ready()
在计算选择器时,屏幕上将显示哪些元素是不可预测的。

您还没有发布完整的代码,但我猜您可能也在动态添加一些元素

那样的话,就用

$("input.numbers").live('keydown', function() {
    // do stuff here
});
你是说“数字”不是文本而是数字、数字、整数

$("input").filter(function() {
   return $(this).attr("class").match(/\d+/);
});

您的所有示例都应该有效…因此,您的代码中可能有其他错误。请显示一些内容,而不仅仅是
。每个
。我同意ThiefMaster。您是否在dom.ready之后调用这些选择器,如我下面所示?我正在调用文档中的each。ready函数我可能有错误的地方。此外,正如xzyfer所建议的,请确保'我们正在
$().ready()中附加内容。
$("input").filter(function() {
   return $(this).attr("class").match(/\d+/);
});