if(characterCode == 13)
{
return false; // returning false will prevent the event from bubbling up.
}
else
{
return true;
}
Tamam, bir formda aşağıdaki metin kutusuna sahip olduğunuzu düşünün:
<input id="scriptBox" type="text" onkeypress="return runScript(event)" />
Enter tuşuna basıldığında bu metin kutusundan bazı "kullanıcı tanımlı" komut dosyalarını çalıştırmak ve formu göndermemesini sağlamak için bazı örnek kodlar aşağıda verilmiştir. Bu işlevin herhangi bir hata denetimi yapmadığını ve büyük olasılıkla yalnızca IE'de çalışacağını lütfen unutmayın. Bunu doğru yapmak için daha sağlam bir çözüme ihtiyacınız var, ancak genel fikri anlayacaksınız.
function runScript(e) {
//See notes about 'which' and 'key'
if (e.keyCode == 13) {
var tb = document.getElementById("scriptBox");
eval(tb.value);
return false;
}
}
işlevin değerini döndürmek, olay işleyicisini daha fazla olayı tetiklememesi için uyarır ve keypress olayının daha fazla işlenmesini önler.
NOT:
Bu sivri out oldu keyCode
almaktadır şimdi artık yok . Bir sonraki en iyi alternatiftir which
gelmiştir da kaldırıldı .
Ne yazık ki, key
modern tarayıcılar tarafından yaygın olarak desteklenen tercih edilen standart , IE ve Edge'de bazı tehlikeli davranışlara sahiptir . IE11 eski olanlar hala gerekir polyfill .
Kaldırılan uyarı konusunda oldukça uğursuz iken Dahası, keyCode
ve which
bu çıkarmadan eski web sitelerinin anlatılmamış sayılar için büyük bir kırılma değişikliğini temsil eder. Bu nedenle, yakında herhangi bir yere gitmeleri pek olası değildir.