【问题标题】:Can't click div in cordova无法在科尔多瓦单击 div
【发布时间】:2014-06-06 19:52:08
【问题描述】:

喂!

我正在创建一个 cordova 应用程序,并在 S4 Mini、android 4.2.2 上遇到以下问题。 我有一个 div 元素

<div class="switch" id="switchOff" onclick="clicked()">
  <img alt="switch off" src="img/70/switchOff.png" />
</div>

我无法对点击事件做出反应。我尝试了所有我知道的方法。

  $('#switchOff').css('position', 'relative');
  $('#switchOff').css('zIndex','10000');
  var foo = document.getElementById("switchOff");
  console.log('zindex: ' + $(foo).css('zIndex')); //gives it back, so it works
  $('#switchOff').bind('click',function(){
      alert('Bind is the winner');
  });

  foo.click = function(){
      alert('Native click is the winner');
  }

  $(document).on('click','#switchOff',function(){
            alert('Holaon');
  });

  document.getElementById("switchOff").addEventListener('click', function(){
      alert('eventlistener is a winner');
  }, false);

最奇怪的是,我什至可以更改那个 div 的属性,所以选择器可以工作,并且它已经加载到 dom 中。 另一个奇怪的事情是它在其他设备上运行良好。 (摩托罗拉蔑视,xperia tablez-z,atrix)。

我的想法用完了,有人可以帮忙吗?

【问题讨论】:

  • 试试.on而不是.bind
  • 是的,我在示例代码中错过了它,但已经这样做了。
  • 如果您将点击移至图片会发生什么?
  • 在图片上应用点击事件。
  • 它在 img 上也不起作用。

标签: javascript android jquery cordova


【解决方案1】:

您的clicked() 在哪里定义? 您是否像这样将整个代码包装在 jquery 就绪侦听器中?:

$(function(){
     $('#switchOff').click(function(){
         //do something
     });
});

【讨论】:

  • 它在上面的代码中定义。是的,我也尝试过 domready 和 deviceready(cordova 建议使用 directiva)。但脚本文件位于页面底部,所以我不确定这是否会成为任何级别的问题。
  • 在jQuery lib下没问题
  • 就是在那之后。并且点击在galaxy s3、motorola defy、motorola atrix、sony z1、z1 mini、nexus 4、zte grand x in、z1平板电脑上运行良好......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-28
  • 1970-01-01
  • 2015-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多