üzerine event.target.id. Ben olay işlevine bir parametre olarak geçirilen gerektiğini önerdi bazı benzer sorular buldum: Benim için,jQuery/JavaScript ben Chrome'da çalışıyor yazılı kısa senaryomuz var Firefox
function updateSentence(event){
$(document).ready(function(event) {
t = event.target.id;
$("#S"+t).html($("#"+t).val());
});
}
Oysa Firefox sorunu çözmek ve aslında nasıl çalıştığını kırar gelmez bu çözüm Chrome'da. Chrome'da, bu iletiler geçtiğinde event.target
'un tanımlanmadığını bildirir.
Neyi yanlış yapıyorum?
Birkaç yorum aldıktan sonra jQuery'yi genel olarak nasıl düşündüğümün yanlış olduğunu anladım. Cümlenin her güncellemesinde $(document).ready
'u istemedim. Ben ile sona erdi bu bilgiyle fonksiyonu temizleniyor: Bu hala doğru Chrome'da cümleyi günceller, henüz
function updateSentence(){
t = event.target.id;
$("#S"+t).html($("#"+t).val());
}
target
Firefox'ta tanımsız olmaya devam ediyor. Bunu Firefox'ta çalışmak için ne yapmam gerekebilir? Ve hala jQuery'de yanlış bir şey mi yapıyorum?
Ayrıca, yorumlarda bir soruyu yanıtlamak için, aradığım olay updateSentence()
'u tetikleyen onchange
olaydır. Bir seçim/metin alanı değiştiğinde bu çağrılmalıdır.
. Sitenin bana izin verdiği birkaç saat sonra yayınlayacağım.
Hedefin ne olmasını bekliyorsunuz? '$ (document) .ready' jQuery'yi bir argüman olarak gönderir - bir hedef öğe yoktur. – pimvdb
Başka bir işlevin içinde (belgeyi) çalıştırmanın iyi bir fikir olduğunu sanmıyorum. Bir kez, sayfada 'hazır' olması gerekiyordu. Bu olaydan sonra çağrılırsa, istediğiniz gibi davranmayacaktır. – lifeIsGood
"Ancak Firefox'ta" kullanımınız, başka bir tarayıcıda, bir yerden bir sonuç aldığınızı gösterir. Gerçekten olmamalıydın. Bu senaryoda değil. –