Javascript ការប្រើប្រាស់ Event

ការបង្កើត objcet ចេញពី HTML ឧទាហរណ៍យើងមាន <div id="myID">Text</div> ជា HTML ហើយយើងដាក់ ID ឲ្យវាថា myID ។ បន្ទាបមកនៅក្នុង javascript បង្កើត object គឺ document.getElementById("myID") នេះគឺយើងបានបង្កើត object ថ្មីមួយហើយ ។ ឬមួយយើងធ្វើមួយបែបទៀតគឺ document.querySelector(...) បើតាមនេះក៏អាចដាក់បានទាំង ID (#) និង class (.)

ជាធម្មតាយើងប្រើប្រាស់ event ដើម្បីហៅ funtion នៃ javascript មកប្រើនៅក្នុង html <input type="button" value="click" id="btn" onclick="calu()">។ ប៉ុន្តែមកប្រើបែបនេះវិញដោយប្រើនៅក្នុង javascript តែម្តង។

  • document.getElementById("btn").addEventListener("click", function(){ //coding })
  • document.getElementById("btn").onclick = function(){ //coding }
  • document.querySelector("#btn").addEventListener("click", function(){ //coding })

    document.getElementById().addEventListener()

    នៅក្នុង addEventListener("type", function)

    ចំពោះ type វាមានដូចជា click, mouseover និង mouseout ហើយមានច្រើនទៀត យើងចូលទៅមើលនៅក្នុង w3school

    <body>
        <div id="txt">
            Demo
        </div>
        <input type="button" value="BTN1" id="btn">
    
        <script>
            function showText(){
                document.getElementById("txt").innerHTML = "I'm study JavaScript!"
            }
            
            document.getElementById("btn").addEventListener("click", function(){
                showText()
            })
    
        </script>
    
    </body>

    document.getElementById(...).onclick = function()

    ចំពោះកូដនេះវាស្រដៀងទៅនឹងខាងលើដែរទេ

    <body>
        <div id="txt">
            Demo
        </div>
        <input type="button" value="BTN1" id="btn">
    
        <script>
            function showText(){
                document.getElementById("txt").innerHTML = "I'm study JavaScript!"
            }
            
            document.getElementById("btn").onclick = function (){
                showText()
            }
           
        </script>
    
    </body> 

    document.querySelector(...).addEventListener("type", function(){})

    <body>
    
        <div id="txt">
            Demo
        </div>
        <input type="button" value="BTN1" id="btn">
    
        <script>
            function showText(){
                document.getElementById("txt").innerHTML = "I'm study JavaScript!"
            }
    
            document.querySelector("#btn").addEventListener("click", function(){
                showText()
            })
           
        </script>
    
    </body>

    ការប្រើ querySelectorAll()

    យើងមាន HTML element បីដែលមានឈ្មោះ class ដូចគ្នា ហើយយើងចង់ប្តូរអក្សរណាមួយនៃបីយើងចាប់ class ទាំងបីដោយប្រើ querySelector ប៉ុន្តែគឺចាប់បានតែ HTML element មួយមុនគេ។

    <body>
    
        <div class="demo"> Hello Text 1 </div>
        <div class="demo"> Hello Text 2 </div>
        <div class="demo"> Hello Text 2 </div>
    
        <input type="button" value="BTN1" id="btn">
    
        <script>
            function showText(){
                document.querySelector(".demo").innerHTML = "I'm study Javascript!"
            }
    
            document.getElementById("btn").addEventListener("click", function(){
                showText()
            })
    
        </script>
    
    </body>
    

    ដូចនេះយើងត្រូវប្រើ querySelectorAll ទើបយើងចាប់បាន index នីមួយបាន។ ហើយនៅពេលយើងប្រើត្រូវដាក់ index វា [index]

    <body>
    
        <div class="demo"> Hello Text 1 </div>
        <div class="demo"> Hello Text 2 </div>
        <div class="demo"> Hello Text 2 </div>
    
        <input type="button" value="BTN1" id="btn">
    
        <script>
            
            document.getElementById("btn").addEventListener("click", function(){
    
                document.querySelectorAll(".demo")[0].innerHTML = "I'm study Javascript!"
                
            })
            
        </script>
    
    </body>
    <body>
    
        <div class="demo"> Hello Text 1 </div>
        <div class="demo"> Hello Text 2 </div>
        <div class="demo"> Hello Text 2 </div>
    
        <input type="button" value="BTN1" id="btn">
    
        <script>
            
            document.querySelector("#btn").addEventListener("click", function(){
    
                document.querySelectorAll(".demo")[1].innerHTML = "I'm study Javascript!"
    
            })
     
        </script>
    
    </body>
    <body>
        <div id="txt">Demo</div>
        <input type="button" value="click BTN1" class="btn">
        <input type="button" value="click BTN2" class="btn">
        <input type="button" value="click BTN3" class="btn">
    </body>
        <script>
            var button = document.querySelectorAll(".btn")
            
            button.forEach(function(e,i){
                e.addEventListener("click", function(){
                   document.getElementById("txt").innerHTML = button[i].value
                })
            })
        </script>
    </html>
  • Post a Comment

    0 Comments