Jquery .on('input',function(){...}); 不与IE合作

Ser*_*sky 3 javascript jquery internet-explorer

我在Chrome上有一个完美的jquery功能,但它不适用于IE ...每次我在文本框#form中更改某些内容时,服务器都会获取获取AJAX请求但不在IE上

$("#form").on('input', function() {
    $("#value").val($("#value").val().toUpperCase());
    var postdata = {value: $("#value").val()} ;
    $.get('/search', postdata, function(data) {
        var result = ("Type : " + data['type'] + "<br/>Project name : " + data['project_name'] + "<br/>Project version : " + data['project_version'] + "<br/>Product name : " + data['product_name'] + "<br/>Product version : " + data['product_version'] + "<br/>Lib op : " + data['libop'])
        $("#print").html(result) ;
    });
});
Run Code Online (Sandbox Code Playgroud)

你有解决方案吗?

谢谢 !最好的祝福,

Servietsky

Bha*_*h B 6

使用onkeyup事件

$('input').keyup(function(e) {
    switch (e.which) {
        case 16: break; // Shift
        case 17: break; // Ctrl
        case 18: break; // Alt
        case 27: this.value = ''; break; // Esc: clear entry
        case 35: break; // End
        case 36: break; // Home
        case 37: break; // cursor left
        case 38: break; // cursor up
        case 39: break; // cursor right
        case 40: break; // cursor down
        case 78: break; // N (Opera 9.63+ maps the "." from the number key section to the "N" key too!) (See: http://unixpapa.com/js/key.html search for ". Del")
        case 110: break; // . number block (Opera 9.63+ maps the "." from the number block to the "N" key (78) !!!)
        case 190: break; // .
        default:
        //add your code here which will execute by default
    }
});
Run Code Online (Sandbox Code Playgroud)

对不起,长篇文章(在此指定所有活动)

  • 如果您使用的是jQuery,那么`var e = window.event || e;`和`var keyUnicode = e.charCode || e.keyCode;`不需要行.jQuery已经为你做了所有这些.发送的`e`已经标准化.另外,在你的`switch`中使用[`e.which`](http://api.jquery.com/event.which/).jQuery也为你规范化了. (3认同)