Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将按键或事件监听器添加到输入中;TypeError:…addEventListener不是函数;_Javascript_Jquery_Forms_Keypress_Addeventlistener - Fatal编程技术网

Javascript 将按键或事件监听器添加到输入中;TypeError:…addEventListener不是函数;

Javascript 将按键或事件监听器添加到输入中;TypeError:…addEventListener不是函数;,javascript,jquery,forms,keypress,addeventlistener,Javascript,Jquery,Forms,Keypress,Addeventlistener,我正在处理一个表单,我不希望enter/return提交表单,所以我使用了这样一个函数 $('[name="form"]').keypress(function(e) { var charCode = e.charcode || e.keyCode || e.which; if (charCode === 13) { e.preventDefault(); return false; }

我正在处理一个表单,我不希望enter/return提交表单,所以我使用了这样一个函数

    $('[name="form"]').keypress(function(e) {
        var charCode = e.charcode || e.keyCode || e.which;
        if (charCode === 13) {
            e.preventDefault();
            return false;
        }
    });
这是可行的,但现在我想分配enter/return来对表单上的两个输入执行函数。我完全卡住了

为了获得输入,我尝试了用id调用vanilla js,用id调用jQ,然后用变量混合这两种方法。我还尝试了.keypress、.keydown、.keyup代替attachEventListener方法。无论我做什么,我都会在控制台中得到这个错误

“TypeError:…addEventListener不是函数”(或按键、按键等)

我也做了很多研究,但没有找到任何解决方案。我感谢你的建议。 这是一段当前形式的代码,它带来了麻烦

    var yelpInput = $('#inputURL');
    var googleInput = $('#googleURL');

    yelpInput.addEventListener("keydown", function(e) {
        if (e.keyCode === 13 ) {                        
            alert('do stuff!');
        }
    });

    // Google
    googleInput.addEventListener("keydown", function(e) {
        if (e.keyCode === 13 ) {    
            alert('do stuff!');
        }
    });

谢谢

yelpInput
jQuery
包装的对象,它没有
addEventListener
方法

用于在
jQuery
包装对象或
yelpInput[0]上附加
事件处理程序
。addEventListener
/
yelpInput.get(0)。addEventListener
使用
JavaScript
作为
yelpInput[0]
附加事件将是
DoElement
而不是
jQuery包装的
对象

var-yelpInput=$('#inputURL');
var googleInput=$(“#googleURL”);
yelpInput.on(“按键向下”,函数(e){
//-----^^^
如果(如keyCode===13){
警惕(“做事!”);
}
});
googleInput.on(“按键”,函数(e){
//-------^^^
如果(如keyCode===13){
警惕(“做事!”);
}

});
yelpInput
jQuery
包装的对象,它没有
addEventListener
方法

用于在
jQuery
包装对象或
yelpInput[0]上附加
事件处理程序
。addEventListener
/
yelpInput.get(0)。addEventListener
使用
JavaScript
作为
yelpInput[0]
附加事件将是
DoElement
而不是
jQuery包装的
对象

var-yelpInput=$('#inputURL');
var googleInput=$(“#googleURL”);
yelpInput.on(“按键向下”,函数(e){
//-----^^^
如果(如keyCode===13){
警惕(“做事!”);
}
});
googleInput.on(“按键”,函数(e){
//-------^^^
如果(如keyCode===13){
警惕(“做事!”);
}

});
yelpInput
googleInput
是jquery对象而不是dom对象。我还尝试通过document.getElementById(“yelpInput”)获取输入;等等,得到了同样的错误。奇怪。这似乎有效:
yelpInput
googleInput
是jquery对象而不是dom对象。我还尝试通过document.getElementById(“yelpInput”)获取输入;等等,得到了同样的错误。奇怪。这似乎起作用了:谢谢,我以前用过键控方法,但它不起作用。我一定是搞砸了什么,因为它现在起作用了。谢谢,我以前用过按键法,但没用。我一定是把事情搞砸了,因为那现在起作用了。
var yelpInput = $('#inputURL');
var googleInput = $('#googleURL');

yelpInput.keydown(function(e) {
    if (e.keyCode === 13 ) {                        
        alert('do stuff!');
    }
});

// Google
googleInput.keydown(function(e) {
    if (e.keyCode === 13 ) {    
        alert('do stuff!');
    }
});