यह केवल एक बार क्यों चलता है और हर बार मेरे माउस के हिलने पर नहीं?

window.addEventListener("mousemove", function(e) { 

   let x = e.clientX; 
   let y = e.clientY; 

       if(x > 1500){
        document.write("A");
         }
        if(x < 1500) {
        document.write("C");
         }

   }); 
0
Blopper 6 जिंदा 2021, 01:09
document.write का कभी भी उपयोग नहीं किया जाना चाहिए, और यदि आपने इसे किसी संसाधन से सीखा है तो वह संसाधन पुराना हो सकता है। वैसे भी, इसे console.log से बदलें (और अपना कंसोल खोलें)।
 – 
Ry-
6 जिंदा 2021, 01:12

1 उत्तर

सबसे बढ़िया उत्तर

document.write() का उपयोग कुछ इस तरह के लिए नहीं किया जाना चाहिए क्योंकि यह पुराने दस्तावेज़ को एक नए के पक्ष में फेंक देगा, जिसकी सबसे अधिक संभावना है कि ऐसा प्रतीत होता है कि ईवेंट हैंडलर केवल एक बार ट्रिगर हो रहा है। इसके बजाय, आपको पहले से मौजूद DOM तत्व की सामग्री को अपडेट करना चाहिए।

और, हैंडलर को window के बजाय document पर सेट करना अधिक उपयुक्त होगा।

साथ ही, आपके पास दो अलग-अलग if कथन नहीं होने चाहिए, आप केवल पहले वाले में एक else जोड़ सकते हैं।

और, 1500 से छोटे मान का उपयोग करने का प्रयास करें, अन्यथा जब तक आप उस राशि से अधिक नहीं जाते हैं तब तक आपको कोई परिवर्तन नहीं दिखाई देगा।

let output = document.querySelector("div");

document.addEventListener("mousemove", function(e) { 

   let x = e.clientX; 
   let y = e.clientY; 
   console.log("x coord: " + x, "y coord: " + y);

   if(x > 300){
    // Write your output into an existing DOM element
    output.textContent = "Above 300";
   } else {
    output.textContent = "Below 300";
   }
});
<div></div>
0
Scott Marcus 6 जिंदा 2021, 01:17