2012-12-07 26 views
8

Düğme her basıldığında div öğeleri oluşturan bir komut dosyası oluşturuyordum. Başlangıçta ben onclick özniteliği ile satır içi denilen işlevi vardı, ama bu yüzden dışarı taşındı ve bunun yerine bu yüzden ben bile emin değilim önce addEventListener() hiç kullanmadıysanız addEventListener("click",function());addEventListener nasıl kullanılır

kullanmaya çalıştı gibi jslint değil doğru kullanarak.

Sorun, sayfa yüklendiğinde ve düğmeye basıldığında hiçbir şey yapmayacağı zaman bir div oluşturmasıdır.

Önceden teşekkür ederiz. Bu

input.addEventListener("click", function(){ 
    createEntry(document.getElementById('a').value); 
}); 

gibi

<body> 
<form> 
    <textarea id="a"></textarea>  
    <br> 
    <input value="button" type="button"> 
</form> 
<div id="content"> 
</div> 
<script> 
    /*jslint browser:true */ 
    function createEntry(text) { 
     "use strict"; 

     var div = document.createElement("div"); 
     div.setAttribute("class", "test"); 
     document.getElementById("content").appendChild(div); 
    } 
    var input = document.getElementsByTagName("input")[0]; 
    input.addEventListener("click", createEntry(document.getElementById('a').value)); 
</script> 

cevap

6

Değişim

input.addEventListener("click", function(){ 
createEntry(document.getElementById('a').value); 
}); 
+0

Zaman ayırdığınız için teşekkür ederiz. :] –

4

içine bu hat

input.addEventListener("click", createEntry(document.getElementById('a').value)); 

güvenli ve bütünlüğü için tarayıcıyı olmak, olay işleme ve DOM manipülasyon için jQuery gibi bir JavaScript kütüphanesi kullanmayı deneyin.

Aşağıdaki gibi jQuery olay işleyicileri kullanabilirsiniz:

$(<element_selector>).on("click", function (event) { 
    // your code here... 
}); 
+2

JQuery ile nasıl yapılacağını biliyordum ama Javascript becerilerimi onsuz yazarak geliştirmek istedim. Yine de tarayıcı güvenliği konusunda iyi bir noktaya gelin. Teşekkürler :] –

İlgili konular