1

我认为在收集有关如何解决我的问题的一些信息后重新表述整个问题会更好。

现在的简单问题是如何从window.onhashchange功能中创建自定义事件。

我想这样做是因为您可能知道您无法在 javascript 加载的内容上附加处理程序,您可以通过以下方式解决此问题

$('parent').on('event', 'child', func)正确的?这相当于 jquery 委托功能。

如何创建自定义事件window.onhashchange

4

1 回答 1

0

哦。好的。好吧,window 是唯一对触发 hashchange 有意义的东西,所以我不确定你为什么想要事件委托。听窗。当哈希值发生变化时,对当前存在的任何 HTML 执行您想要的操作。

您实际上可以将处理程序附加到 JavaScript 附加的内容。如果它在 DOM 中,那么您可以对其进行操作和监听事件。问题是当您替换 html 内容时。原来的 dom 节点不见了,所以如果你有一个点击事件,它就会注册到一个不再存在的节点上。

但是 window 只能通过重新加载页面来替换,这是唯一与哈希更改相关的事情。'hashchange' 也不是真正的 DOM 事件。如果它在一个元素上触发是有意义的,我不确定它是否还会像“click”这样的事件那样冒泡。

简短版本:如果您需要在此“hashchange”事件中发生某些事情,我不确定您是否遇到了您认为遇到的问题。

于 2012-12-29T07:43:50.803 回答