在我的多页 JQM 应用程序中,我遇到了多次触发事件的问题。例如:
$("#Button").on("click", function (event) {
alert("hello");
});
这会在第一次触发一次,但在导航到其他页面或使用后退按钮后,警报弹出窗口的数量会随着链接访问次数的增加而增加。我能够通过使用来阻止这种情况
event.stopImmediatePropagation();
但这在我的应用程序中引起了另一个问题。怎么回事?这非常令人沮丧。为什么这在 JQM 网站上没有得到更好的记录?..无论如何。在寻找解决方案时,我在
http://www.ardeearam.com/blog/2012/06/03/jquery-mobile-events-firing-multiple-times/
它建议将 'pageinit' 事件委托给找到元素的页面 id。IE
jQuery(document).on('pageinit', '#page_one', function (event) {
)};
我有一种预感,而不是为该页面的每个代码块(如文章所述)设置多个 pageinit 块,而是将 pageinit 页面 ID 设置为 html 中的第一页。我试过了,多事件问题消失了。我测试了我的应用程序以确保其他页面(我总共有六个页面)上的其他内容没有损坏并且运行良好。我的问题是:任何人都可以看到将这种方法用于 pageinit 的缺点或问题吗?