Я пытаюсь закодировать что-то, что позволяет пользователю нажимать enter и получать результат запроса после ввода текста. Следующий код отлично работает с Chrome, но не с IE 8 и 7 (я не хочу другую версию IE) я использовал Jquery впервые:IE Jquery click() срабатывание события не работает
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.
Как вы подключаете ifEnterClick? Я не вижу никакого jquery, используемого здесь. Это прямое javascript, и это ваша «проблема», которую я предполагаю. jQuery нормализует события и обработку событий для вас, поэтому, если он работает в одном браузере, 99,9% времени он будет работать в других. Переключите эту концепцию на jQuery, и я уверен, что она сработает. –
Какую версию jq вы используете? jquery 2.x удалил старые браузеры (IE7, IE8, например), возможно, это ваша проблема. BTW, jquery имеет нормализованные ключевые события, вы должны использовать event.which, а не event.keyCode –
Wolff, я использую версию 2.12, я думаю, что u правы. , но даже только JS не разворачивается. Eli Gassert , if (event.keyCode == 13) работает нормально, проблема заключается в том, что вы запускаете событие .click() – oueslatibilel