【问题标题】:Firing click event on click event, touch screen点击事件触发点击事件,触摸屏
【发布时间】:2023-03-27 09:52:03
【问题描述】:

HTML:

     <footer>
        <a href="#"><div class="footbut" id="chooseFile"  onclick="">
                  <div class="done2 gradGreen" data-bind="visible: picsCount(objectInRoute())>0">
                    <div class="typcn typcn-tick indone"></div>
                  </div>
            <div class="typcn typcn-camera bigblack"></div>
            <span data-bind='text: pickONE("aside",18)'></span>
        </div></a>     
    </footer>    
    <form class="uppform" action="upload.php" method="post" enctype="multipart/form-data">
      <input type="file" id="file" name="image" data-bind="value: upload"/>
      <input type="hidden" name="imageObject" data-bind="value: objectInRoute()"/>
      <div data-bind="if: upload()">
        <div class="first stripe40 gradGold tGold">
          <h1  data-bind="text: pickONE('aside',41)"></h1>
        </div>          
        <input type="submit" data-bind="value: upload" id="submit" class="gradGreen"/>
      </div>  
    </form> 

JS:

$('#chooseFile').click(function(){
    alert ("here");
    $('#file').click();
});

(CSS:

#file {
  display: none;
}​

在 PC 警报有效时,单击#file(=打开选择文件)有效。

在我的触摸屏(安卓、手机)上:警报有效,但它不会打开带有相机/文档/图库的弹出窗口......

如何才能在触摸屏上使用它或在其他地方出错?谢谢!

【问题讨论】:

  • 这可能对你有帮助,stackoverflow.com/questions/10722730/…
  • 我在发帖前看了看,我认为这是不同的情况,在我的情况下,如果点击事件(警报触发),它不会对另一个元素产生额外的点击。不过好的,我再看看,谢谢。

标签: javascript android jquery mobile touchscreen


【解决方案1】:

如果有人对这种特殊情况感兴趣,似乎这段代码可以解决问题:

#file {
  width: 0;
  height: 0;
  float: left;
  visibility: hidden;
}​

代替显示:无;

我不确定它是否适用于所有设备,但在我的测试设备上可以。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-06
    • 2012-12-13
    • 2015-04-28
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    相关资源
    最近更新 更多