jQueryMobile动态页面-多次触发事件



我正在开发一个jQueryMobile网站,让人们可以订购产品。这里有动态页面(如产品页面),我在其中有一些事件(计算总数、刷新配料表等)。

当你第一次进入产品页面时,一切都很好,但当你将产品添加到购物车中并返回到另一个产品后,一切都会再次触发。因此,例如,如果您在购物车中添加了10个项目,那么对于第10个项目来说,所有内容(包括ajax调用)都会被触发10次。

我在这里录制了一段视频:http://www.screenr.com/Ew5H这样你就能准确地看到问题所在。

网站网址为:http://m2.pizzaboy.y11.in/

JS文件在这里:http://m2.pizzaboy.y11.in/assets/js/main.js

我正在使用:

$( document ).delegate("#page-product", "pageinit", function() {
    //stuff here
});

以触发产品页面上的所有操作。

我尝试了各种解决方案来解决这个问题(删除不再活动的页面元素,使用标志等),但都没有成功。

感谢您对的帮助

解决方案实际上是解除事件绑定(使用.off),但是如果您提供多个选择器,.off就不起作用(至少对我来说是这样)。

示例:

// This is NOT WORKING because multiple elements are used
$(document).off('change', '.class1, .class2, #idelement');
// This WORKS
$(document).off('change','#idelement');
$(document).off('change','.class1');
// and so on...
// You can add a class to all elements that you want to
// unbind, and then just call it once
$(document).off('event','.classForUnbind')
// If you want to unbind all elements
$(document).off('change');

希望这能帮助

相关内容

  • 没有找到相关文章

最新更新