SORU
8 Kasım 2009, Pazar


Javascript MSIE ve parametre, event Sorunu?

document.getElementById('container').addEventListener('copy',beforecopy,false );

Chrome / Safari, yukarıdaki "beforecopy sayfadaki içeriği kopyalanmış." fonksiyonu çalışacak MSIE bu işlevi de desteği gerekiyordu, ama nedense bu hatayı alıyorum:

"Nesne bu özelliği veya yöntemi desteklemiyor"

Şimdi, Internet Explorer vücut düğüm ile çalmıyor anladığım kadarıyla, ama KİMLİĞİ bir düğüm sağlayarak iyi bir iş beklerdim. Herkes yanlış ne yapıyorum herhangi bir fikir var mı? Şimdiden teşekkürler.

** 3 "Yanlış" için iyidir. parametre ne olduğunu söyleyebilir herkes için Bonus puan

CEVAP
8 Kasım 2009, Pazar


YANİ 13 ** standart yerine attachEvent kullanmak zorunda.

Yaygın bir uygulama addEventListener yöntem mevcut olup olmadığını kontrol etmek ve kullanmak, aksi takdirde attachEvent Kullanım:

if (el.addEventListener){
  el.addEventListener('click', modifyText, false); 
} else if (el.attachEvent){
  el.attachEvent('onclick', modifyText);
}

Bir fonksiyon yapabilirsiniz

function bindEvent(el, eventName, eventHandler) {
  if (el.addEventListener){
    el.addEventListener(eventName, eventHandler, false); 
  } else if (el.attachEvent){
    el.attachEvent('on' eventName, eventHandler);
  }
}
// ...
bindEvent(document.getElementById('myElement'), 'click', function () {
  alert('element clicked');
});

Yukarıdaki kod örneği here çalıştırabilirsiniz.

addEventListener üçüncü bağımsız değişken useCapture; true ise, kullanıcı event capturing başlatmak istediğini gösterir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Charles Renaud

    Charles Rena

    10 Kasım 2007
  • GavinMichaelBooth

    GavinMichael

    26 AĞUSTOS 2006
  • Roger Huffman

    Roger Huffma

    4 ŞUBAT 2007