2012-02-15 4 views
0
$(".tbSearchBox").keyup(function (event) { 
    if (event.keyCode == 13) { 
     alert("ye"); 
     searchSet = $(this).val(); 
     $(".btnSerachButton").click(); 
    } 
}); 

Im используя приведенный выше код, чтобы определить, набрал ли пользователь что-то в окне поиска, затем нажмите Enter, а не нажимайте кнопку поиска. это работает для всех браузеров, кроме IE. IE может считывать событие on keyup, но обходит используемый оператор if. Любая идея почему?событие onkeypress не срабатывает, т. Е.

+1

http://api.jquery.com/event.which/ "Свойство event.which нормализует event.keyCode и event.charCode. Рекомендуется наблюдать событие event.which для ввода клавиатуры. » – karim79

ответ

1

Там некоторые несовместимость, т.е. в отношении событий и кода ключа так, чтобы сделать его браузер, совместимый попробовать это

$(".tbSearchBox").keypress(function (event) { 
    var ev = event || window.event; 
    var key = ev.keyCode || ev.which || ev.charCode; 
    if (key == 13) { 
     ev.preventDefault(); 
     alert("ye"); 
     searchSet = $(this).val(); 
     $(".btnSerachButton").click(); 
    } 
}); 
+1

, но, тем не менее, обошла javascript и отправляет на страницу – user987723

+0

вы можете разместить html-элемент '.tbSearchBox'? –

+0

'event. preventDefault(); 'возможно? – Stefan

0

Вы должны use event.which here нормализовать event.keyCode и event.charCode:

if (event.which == 13) ... 
+0

попробовал это, все еще работает для других браузеров, но не то есть, то есть размещает страницу перед javascript – user987723

1
var code = (event.keyCode ? event.keyCode : event.which); 

или, может быть, даже

var code = event.keyCode || event.which; 
+0

Свойство' event.which' нормализует 'event.keyCode' и' event.charCode'. Поэтому должно быть достаточно просто посмотреть «event.which». См. http://api.jquery.com/event.which/ и https://developer.mozilla.org/en/DOM/event .charCode # Notes – Stefan

+0

спасибо, дал это, но не повезло, страница просто отправляется до чтения строки – user987723

Смежные вопросы