2016-08-22 3 views
-1

lesen Wenn ich Element überprüfen klicken, erhalte ich Fehler für Tooltip Kopie Zwischenablage:Kann nicht Eigentum ‚addEventListener‘ von null in copycode.js

nicht Eigentum ‚addEventListener‘ von null lesen kann.

Unten ist mein JS-Code:

createtooltip() 
var buddhaquote = document.getElementById('mytext') 
buddhaquote.addEventListener('mouseup', function(e){ 
    var selected = getSelectionText() // call getSelectionText() to see what was selected 
    if (selected.length > 0){ // if selected text length is greater than 0 
     var copysuccess = copySelectionText() // copy user selected text to clipboard 
     showtooltip(e) 
    } 
}, false) 
+0

Was ist mit dem Ausdruck 'budhaquote' Variable in' console.log'? Oder führen Sie einfach 'document.getElementById ('mytext')' in der Konsole aus? –

Antwort

0

Der Fehler

Kann nicht Eigentum 'XXX' von null lesen.

bedeutet, dass Sie mit einer Variablen arbeiten, die null enthält. Wenn Sie tatsächlich versuchten, Ihr Programm zu debuggen und console.log verwendeten, würden Sie sehen, dass die Variable buddhaquote null statt des Elements enthält, das Sie möchten.

Dies kann zwei Ursachen haben, es ist schwer zu sagen, weil Sie sich entschieden haben, nicht genug Code zu teilen.

  1. HTML-Element mit id mytext existiert nicht
  2. Sie versuchen, Element zuzugreifen, bevor es erstellt wird. Zum Beispiel, das ist falsch:

    <script> 
        var test = document.getElementById("test"); 
        // Error: Cannot read property 'appendChild' of null. 
        test.appendChild(new Text("Hello world!")); 
    </script> 
    <!-- only after this you can access span#test --> 
    <span id="test"></span> 
    

Das ist richtig:

<span id="test"></span> 
    <script> 
     var test = document.getElementById("test"); 
     test.appendChild(new Text("Hello world!")); 
    </script> 
0

try envolve Code in

window.onload=function(){ --your code -- } 

Und wenn Sie nicht ein zu bekommen versuchen, Klasse anstelle von ID

Verwandte Themen