原生js調用已有方法


需求:某應用APP用戶首次加載會添加一段鏈接用於推銷,點擊X號會移除該段鏈接(即調用一次X號的click)

因為不希望該鏈接產生,故需要將其移除,而該應用源碼並非自己開發,工程不小查找該源碼會很耗時,但是

其每次都會引入一個公共的jsp文件,故可以在該jsp內手寫js控制

jquery調用已有元素的click:$(".SmartBanner-close").click();獲取元素后直接調用即可

原生js調用已有元素的click:

    document.getElementsByClassName("SmartBanner-close")[0].click();親測不好使

    document.getElementsById("SmartBanner-close")[0].click();據傳好使,因需求元素只有className也就沒測

解決方案:

  

  //獲取該節點元素 
  var SmartBannerClose = document.getElementsByClassName("SmartBanner-close")[0];
  //執行該方法,觸發事件
  fireClick(SmartBannerClose );

  function fireClick(node){
    if (document.createEvent) {

      //此兩步同時存在
                 //創建一個事件對象
      var evt = document.createEvent('MouseEvents');
                 //初始化該事件對象
      evt.initEvent('click', true, false);
                 //合並事件
      node.dispatchEvent(evt); 
    } else if(document.createEventObject) {
      node.fireEvent('onclick') ; 
    } else if (typeof node.onclick == 'function') {
      node.onclick(); 
    }
  }    

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM