यह केवल एक बार क्यों चलता है और हर बार मेरे माउस के हिलने पर नहीं?
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
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
document.write
का कभी भी उपयोग नहीं किया जाना चाहिए, और यदि आपने इसे किसी संसाधन से सीखा है तो वह संसाधन पुराना हो सकता है। वैसे भी, इसेconsole.log
से बदलें (और अपना कंसोल खोलें)।