需求:某應用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();
}
}
