2

我正在尝试编写一些代码,允许用户按 Enter 并在输入的文本之后获取请求的结果。以下代码适用于 Chrome,但不适用于 IE 8 和 7(我没有尝试其他版本的 IE)我第一次使用 Jquery:

    function ifEnterClick(event) {
    if (event.keyCode == 13) {
        var elm = '#findButton';
        $(elm).click();
    }
}

我也尝试了 javaScript:

function ifEnterClick(event) {
    if (event.keyCode == 13) {
        var obj = document
                .getElementById("findButton");
        fireEvent(obj, 'click');
    }
}
function fireEvent(obj, evt) {

    var fireOnThis = obj;
    if (document.createEvent) {
        var evObj = document.createEvent('MouseEvents');
        evObj.initEvent(evt, true, false);
        fireOnThis.dispatchEvent(evObj);

    } else if (document.createEventObject) {
        var evObj = document.createEventObject();
        fireOnThis.fireEvent('on' + evt, evObj);
    }
}

在这两种情况下,它都适用于 Chrome,但不适用于 IE。

4

3 回答 3

2

尝试这个:

function ifEnterClick(event) {
  var keycode = (window.event) ? event.keyCode : event.which;
  if (event.keyCode == 13) {
    var elm = '#findButton';
    $(elm).click();
  }
}

相关:JavaScript KeyCode 值在 Internet Explorer 8 中“未定义”

于 2013-09-18T12:49:40.710 回答
0

问题不在于点击,它的触发很好,或者调用底部的动作。它在调用和提交之后。

于 2013-09-19T05:07:44.183 回答
-3

改变

var elm = '#findButton';

var elm = $('#findButton');
于 2013-09-18T12:48:43.347 回答