我想在更改事件目标项目时触发点击事件。 jQuery解决方案不是强制性的。
常规触发有效,而自定义触发无效。
此常规示例有效:
$(tab).trigger('click');
另一方面,这不是:
let event = $.Event('click');
event.target = otherTab;
$(tab).trigger(event);
我想念什么吗?
编辑(尝试使用香草方式):
let e = new Event('click'); // tab and otherTab are jQuery objects
e.target = otherTab[0];
tab[0].dispatchEvent(e);
哪个被触发,但未设置e.target并且仍然为空。
答案 0 :(得分:1)
基于Element.click()https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click
然后,此事件冒泡到文档树中较高的元素(或 事件链)并触发其点击事件。
function divClicked(ev){
console.log("Div clicked");
alert("Test");
}
function dispatchToOtherElement(){
let divWithEvent = document.getElementById("divWithEvent");
divWithEvent.click();
}
<div id=divWithEvent onclick="divClicked()">
Element with event
</div>
<div id=divWithoutEvent onclick="dispatchToOtherElement()">
Element without event
</div>