onclick不会在可滚动的div中触发

时间:2014-01-23 06:01:02

标签: android jquery css jquery-mobile cordova

我无法捕获某些设备(如Tab 3和Galaxy grand)中可滚动div内的div上的click事件。但它在其他Android设备上工作得非常好。 我的父div有风格

#parentDiv { overflow:true}

我尝试了所有类似

的方法
$(document).on("click","#id"+i,function(){
    alert("tapped"); 
});
$(document).on("tap","#id"+i,function(){
    alert("tapped"); 
});
$(document).on("swipeleft","#id"+i,function(){
    alert("tapped"); 
});

其中" id" + i是parentDiv内部动态生成的div

即使我尝试用"按钮"替换div。和" a"标签,仍然无法正常工作

2 个答案:

答案 0 :(得分:0)

我没有得到你的问题,但我可以给你一个调试问题的想法。我不认为,这是因为可滚动的HTML。您可以做的是,在迭代元素时,使用一些警告语句添加onlick属性。如果它有效,则问题出现在脚本中。

例如,

<强> JS

var ele = '';
for(var i=0; i<arr.length; i++){
  ele += '<a href="#" onclick="alert('+ i +')">element +' i '+</a>'
}

答案 1 :(得分:0)

我遇到了类似的问题并且解决起来很简单,因为你没有详细说明,如果你正在使用dinamically添加或中断div。

确保在准备页面触发时dom存在于dom中,如果你正在添加div或parent dinamically,诀窍是将click事件附加到父级中并按子级过滤,这样点击事件就是附加到现有元素。 父项应该从一开始就存在,如果你将同一个事件定位到所有子div,则使用一个类,如果没有你的id就可以了。

喜欢的东西 $('#parentDiv')。on('click','。myClassDiv',function(){...});