javascript函数防止默认问题

javascript函数防止默认问题,javascript,Javascript,我有以下默认问题。 我不太擅长javascript,但这就是我的代码。 事件.preventDefault不起作用,但是如果我替换为警报(“SOMETEXT”),它将显示警报 function changecartitemquantitykeydown(itemid,event) { // Allow: backspace, delete, tab, escape, and enter if ( event.keyCode == 46 || event.keyCode == 8 || event

我有以下默认问题。 我不太擅长javascript,但这就是我的代码。
事件.preventDefault
不起作用,但是如果我替换为
警报(“SOMETEXT”)
,它将显示警报

function changecartitemquantitykeydown(itemid,event) {
// Allow: backspace, delete, tab, escape, and enter
if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 || 
     // Allow: Ctrl+A
    (event.keyCode == 65 && event.ctrlKey === true) || 
     // Allow: home, end, left, right
    (event.keyCode >= 35 && event.keyCode <= 39)) {
         // let it happen, don't do anything
         return;
}
else {
    // Ensure that it is a number and stop the keypress
    if ((event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) || (this.value.length == 0 && event.keyCode == 48)) {
        event.preventDefault(); <===== This is not happening
    }   
}
}
函数更改CartItemQuantityKeyDown(项目ID,事件){
//允许:退格、删除、制表符、转义和回车
如果(event.keyCode==46 | | event.keyCode==8 | | event.keyCode==9 | | event.keyCode==27 | | event.keyCode==13 |
//允许:Ctrl+A
(event.keyCode==65&&event.ctrlKey==true)|
//允许:起始、结束、左、右

(event.keyCode>=35&&event.keyCode我认为您的问题在于函数“changecartitemquantitykeydown”中有多个参数。如果这是事件回调函数,则第一个参数应该是事件。如果调用preventDefault()在这方面,一切都应该很好。然后,您应该找到一种方法来获取该函数中所需的itemid。

我认为您的问题在于,函数“changecartitemquantitykeydown”中有多个参数。如果这是事件回调函数,那么第一个参数应该是事件。如果调用Preventedefault()在这方面,一切都应该很好。然后,您应该找到一种方法来获取该函数中所需的itemid。

我使用了这个方法,它可以正常工作

function changecartitemquantitykeydown(event) {
// Allow: backspace, delete, tab, escape, and enter
if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 || 
     // Allow: Ctrl+A
    (event.keyCode == 65 && event.ctrlKey === true) || 
     // Allow: home, end, left, right
    (event.keyCode >= 35 && event.keyCode <= 39)) {
         // let it happen, don't do anything
         return;
}
else {
    // Ensure that it is a number and stop the keypress
    if ((event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) || (this.value.length == 0 && event.keyCode == 48)) {
        //cancelDefaultAction(event);           
        var evt = event ? event:window.event;
        if (evt.preventDefault) {
            evt.preventDefault();
        }
        evt.returnValue = false;
        return false;   
    }   
}
函数更改CartItemQuantityKeyDown(事件){
//允许:退格、删除、制表符、转义和回车
如果(event.keyCode==46 | | event.keyCode==8 | | event.keyCode==9 | | event.keyCode==27 | | event.keyCode==13 |
//允许:Ctrl+A
(event.keyCode==65&&event.ctrlKey==true)|
//允许:起始、结束、左、右

(event.keyCode>=35&&event.keyCode我使用了这个,它可以工作

function changecartitemquantitykeydown(event) {
// Allow: backspace, delete, tab, escape, and enter
if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 || 
     // Allow: Ctrl+A
    (event.keyCode == 65 && event.ctrlKey === true) || 
     // Allow: home, end, left, right
    (event.keyCode >= 35 && event.keyCode <= 39)) {
         // let it happen, don't do anything
         return;
}
else {
    // Ensure that it is a number and stop the keypress
    if ((event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) || (this.value.length == 0 && event.keyCode == 48)) {
        //cancelDefaultAction(event);           
        var evt = event ? event:window.event;
        if (evt.preventDefault) {
            evt.preventDefault();
        }
        evt.returnValue = false;
        return false;   
    }   
}
函数更改CartItemQuantityKeyDown(事件){
//允许:退格、删除、制表符、转义和回车
如果(event.keyCode==46 | | event.keyCode==8 | | event.keyCode==9 | | event.keyCode==27 | | event.keyCode==13 |
//允许:Ctrl+A
(event.keyCode==65&&event.ctrlKey==true)|
//允许:起始、结束、左、右

(event.keyCode>=35&&event.keyCode如何调用该函数?看起来它应该只有一个参数尝试使用
返回false
而不是
event.preventDefault()
。如何调用该函数?看起来它应该只有一个参数尝试使用
返回false
而不是
事件。preventDefault()