javascript इन - एचटीएमएल में जावास्क्रिप्ट अधिभार





भाषाओं से (6)


आप कोड के साथ अपनी तालिका के ठीक बाद <script> टैग फेंक सकते हैं। एक बार यह स्क्रिप्ट टैग पर पहुंचने के बाद इसका मतलब यह होगा कि इसके ऊपर तालिका तत्व के लिए DOM लोड हो चुका है और अब इसे नीचे आपकी स्क्रिप्ट में एक्सेस किया जा सकता है।

नोट : नीचे दिया गया प्रश्न प्रश्न पर लागू नहीं है बल्कि अन्य उत्तरों दिए जा रहे हैं।

मैं ईवेंट जोड़ने के लिए जावास्क्रिप्ट में addEventListener फ़ंक्शन का उपयोग करने की सलाह देता हूं। यह सुनिश्चित करता है कि आप ईवेंट को सुनना चाहते हैं और किसी और द्वारा अधिलेखित नहीं किया जा रहा है।

उदाहरण

var iframe = document.getElementsByTagName('iframe')[0];
iframe.addEventListener('load', function(event){ console.log("iframe Loaded", event); })

मैं जावास्क्रिप्ट के onload के बारे में एक प्रश्न पूछना चाहता हूं।

मैं कोड के साथ एक जेएसपी पेज लिख रहा हूं <%@ include file ="body.jsp" । शामिल body.jsp में शामिल हैं:

<table onload="function()">

यह जावास्क्रिप्ट फ़ंक्शन लोड करना चाहिए , लेकिन ऐसा लगता है कि यह पृष्ठ पर कोई प्रभाव नहीं पड़ता है। क्या onload केवल body टैग पर प्रयोग योग्य है?




ऑनलोड का उपयोग केवल <body> , <img> , <script> , <iframe> टैग के लिए किया जा सकता है, क्योंकि यह आपको बताता है कि बाहरी संसाधन (छवि, स्क्रिप्ट, फ्रेम) या पूरा पृष्ठ (बॉडी) लोड हो जाने पर

चूंकि एचटीएमएल 5 इन्हें एक लोड इवेंट भी फायर कर सकता है: <link> , <style> , <input type=image> , <object>
इनके लिए समर्थन अभी भी हिट या मिस हो सकता है ( जैसे पुराने एंड्रॉइड ब्राउज़र )




जैसा कि अन्य लोगों ने पहले से ही कहा है कि ऑनलोड ईवेंट एक टेबल पर नहीं होगा। आप क्या कर सकते हैं ऑन-लोडर हैंडलर को बॉडी एलिमेंट (जिसे तब लोड किया जाएगा, जब पेज लोड हो जाएगा) को जोड़कर मेज को मैनिपुलेट कर सकते हैं उदाहरण के लिए टेबल पर आईडी निर्दिष्ट करना।

<body onload="function() { var table = document.getElementById("table-id"); ... }">
    <table id="table-id"></table>
</body>

क्या आप कुछ जावास्क्रिप्ट ढांचे का उपयोग कर रहे हैं?




मुझे ढूंढने का सबसे आसान तरीका बाहरी जावास्क्रिप्ट फ़ाइल और jquery का उपयोग करना है।

// Variables and functions you want to declare 
var socket = io.connect();
// .....

// Function you want to run on load
$(function() {
    $('#submit').click(function() {addUser();});
    // ... any other functions you want to run on load
});

यह उस चीज़ से एक कोड स्निपेट है जिस पर मैं काम कर रहा था। कोड चलाने से पहले परिवर्तनीय घोषित किया जाता है (यह एक वेब सॉकेट बनाता है)। फिर jquery दस्तावेज़ चयनकर्ता ( $ ) है जो लोड पर चलता है और मेरे HTML को संशोधित करने के लिए init फ़ंक्शन को कॉल करता है। मैं इसे एक अज्ञात फ़ंक्शन को कॉल करने के लिए उपयोग करता हूं जो तुरंत चलाता है।




क्यों न केवल इसे <script tag> माध्यम से शामिल करें?

अपनी .jsp फ़ाइल के अंदर

<script>
    window.onload = function() {
        alert("Hello!");
    }
    // or to execute some function
    window.onload = myFunction; //notice no parenthesis
</script>



मैं जावास्क्रिप्ट के लिए काफी नया हूं और इस कार्यक्षमता की आवश्यकता है। मैंने केवल यह लिखा है:

function removeFromArray(array, item, index) {
  while((index = array.indexOf(item)) > -1) {
    array.splice(index, 1);
  }
}

फिर जब मैं इसका उपयोग करना चाहता हूं:

//Set-up some dummy data
var dummyObj = {name:"meow"};
var dummyArray = [dummyObj, "item1", "item1", "item2"];

//Remove the dummy data
removeFromArray(dummyArray, dummyObj);
removeFromArray(dummyArray, "item2");

आउटपुट - जैसा कि अपेक्षित था। ["item1", "item1"]

आपके पास मेरी तुलना में अलग-अलग ज़रूरतें हो सकती हैं, ताकि आप इसे आसानी से अनुकूलित कर सकें। मुझे उम्मीद है इससे किसी को सहायता मिलेगी।





javascript html jsp