我有一个 Phonegap 应用程序,使用 jQuery 和 jQuery Mobile。
在某些页面中,我将一个函数绑定到一个点击事件,但该函数在页面加载时触发。在调试了一下(使用arguments.callee.caller.caller.toString()
)之后,我发现,由于某种疯狂的原因,当页面加载时,该按钮中会触发一个单击事件。
当我更改页脚的类时,问题已经消失(也是我的样式),然后我更改了 CSS 文件中的类引用以匹配新的页脚类,问题又回来了。这很奇怪,也许它与我的 CSS 有关系。
"footer_body"
在我的项目中没有任何其他参考。
如果我直接在 HTML 上设置函数调用(类似<span onClick="javascript:obj.leftMethod()">
),我有相同的行为。
可以肯定的是,这是一个 Phonegap/Android 问题,因为这不会发生在 PC 浏览器中(除了我必须评论很多只能在移动设备中使用的代码)。
这是代码:
HTML:
<div class="footer_body">
<span class="left"><span>Text 1</span></span>
<span class="right"><span>Text 2</span></span>
</div>
JS/jQuery:
function PageClass() {
...
// called when the page is loaded
this.init = function() {
$(".footer_body", "#page_2").find(".left").unbind("tap").bind("tap", function() {
that.leftMethod();
});
$(".footer_body", "#page_2").find(".right").unbind("tap").bind("tap", function() {
that.rightMethod();
});
// that is a reference to "this" of the class
}
}