【问题标题】:Custom event with custom trigger in javascriptjavascript中带有自定义触发器的自定义事件
【发布时间】:2015-04-18 06:32:38
【问题描述】:

在 JQueryMobile 中你可以这样做:

$(document).on("pagebeforehide","#pagetwo",function(){
  alert("pagebeforehide event fired - pagetwo is about to be hidden");
});

这可以通过自定义事件实现吗?像这样:

document.addEventListener("someevent", "sometrigger", function () {});

【问题讨论】:

  • jQuery 核心支持自定义事件:learn.jquery.com/events/introduction-to-custom-events您有具体问题吗?
  • 我想通过函数头内部的触发器过滤事件,而不是函数内部。 $(document).on("event", "trigger", function(){}); 而不是 $(document).on("event", function(trigger){ if(trigger !== "trigger") return; });
  • @sollniss 不确定是否正确解释$(document).on("event", "trigger", function(){});?预期的结果是什么?
  • 该函数仅在“触发器”上触发事件时调用。我想我错过了一个“#”或“。”在那里。

标签: javascript jquery events jquery-mobile custom-events


【解决方案1】:

试试

$(document).on("someevent", "div", function(e) {
      console.log(this.innerText)
});

var elem = $("div:contains('abc')");

if (elem.length) {
  elem.trigger("someevent")
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>abc</div>
<div>123</div>

.trigger()

【讨论】:

  • 这正是我想要的,但是为什么$(document).on("pagecontainerchange", "#id", function(event, ui){}); 不那么笨拙呢?
  • @sollniss 不确定?可以发“stacksn-ps”,jsfiddle.net,包括html,预期结果,演示一下?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-09-09
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
  • 2013-11-05
  • 2013-11-09
  • 1970-01-01
相关资源
最近更新 更多