【发布时间】:2016-08-29 10:05:32
【问题描述】:
我通常在我的 HTML 页面中的按钮上使用很多 onclick 事件,遵循以下模式:
<button onclick="myFunction(this)"></button>
有些工作,有些不工作,我无法解释原因。
这些工作:
<div>
<button class="static" onclick="myFunction('add');" style="">zzzzzzzzzzz</button>
<button class="static" onclick="myFunction('res');" style="">zzzzzzzzzzz</button>
<button class="static" onclick="myFunction('set');" style="">zzzzzzzzzzz</button>
</div>
这些不是:
<center>
<button onclick="newEdit(this)" class="pop_opt" style="height: 35px;">Edit</button>
<hr/>
<button onclick="newConfirm(this);" class="pop_opt" style="height: 35px;">Delete</button>
<hr/>
<button onclick="defaultPopup(this, '')" class="pop_opt" style="height: 35px;">Cancel</button>
</center>
我看到的唯一区别是:
- 第一个按钮是第一个可点击的元素(它们只是区域上的可点击元素)。
- 其他按钮是另一个可点击元素之上的可点击元素(通常如果点击按钮,它应该拒绝父点击事件)。
请注意,它在桌面浏览器中完美运行,但仅在我们在应用程序中使用时才匹配问题(我仅使用 Cordova 进行了测试)
【问题讨论】:
-
你必须在设备就绪函数中绑定这些事件
-
但为什么有些工作而有些则不行?
-
@kishore.k.vaishnav :我尝试使用 jQuery(本机)单击事件,但它们在那些指定的按钮上也不起作用(第二组,仍在浏览器中工作)。它与科尔多瓦有什么关系吗?当你建议我使用 jQuery Mobile 时,为什么它会更有效?
-
@HassanALi:为什么要使用设备就绪?我稍后将 JS 脚本放在 HTML 文件中(按此顺序:cordova.js jquery.min.js share.min.js)
标签: javascript android jquery cordova