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