Enterボタンを押してjs関数を実行したいと思います。IE、Chrome、Opera ではすべて問題なく動作しますが、Safari ではエラー (以下で説明) が発生します。
jQuery ではなく、純粋な Javascriptソリューションが必要です。
これは機能です:
function pressSearch(e) {
if (typeof e == 'undefined' && window.event) {
e = window.event;
}
var charCode = (e.which) ? e.which :
((e.charCode) ? e.charCode :
((e.keyCode) ? e.keyCode : 0));
if (charCode == 13) {
document.getElementById('enterSearch').click();
}
}
これはHTMLです:
<input type="text" id="searchKey" onkeypress="pressSearch(event)">
<div id="enterSearch">Search</div> // This is the "button"
このエラーが発生します:
// Safari
TypeError: 'undefined' is not a function
(evaluating 'getElementById('enterSearch').click()')
私は何を間違っていますか?
編集: Mozilla Firefox エラーを修正しました。