触发具有不同目标的点击事件

时间:2019-03-15 08:17:24

标签: javascript jquery

我想在更改事件目标项目时触发点击事件。 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并且仍然为空。

1 个答案:

答案 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>