javascript - 单击一个 Div 下拉功能在 iPhone 上不起作用

标签 javascript jquery html css iphone

编辑:原来问题不一定是我的代码造成的。当我单击导航栏中的链接时,它会在除 Chrome 之外的所有浏览器上转到 mobile/folder/page.html。当我单击 chrome 中的链接时,它会出于某种原因打开/mobile/#/mobile/folder/page.html,这就是它不起作用的原因。如果我直接转到页面,它工作正常。有谁知道如何解决这个问题?

此代码适用于我的每个浏览器,适用于 Android 手机,但不适用于 iphone。我试过添加点击和触摸而不是 onClick,切换而不是隐藏和显示,将 onclick 添加到 css,并将 cursor:pointer 添加到 css,但我找不到解决方案。也许我把它们加错了,但我不确定。请帮忙!

https://jsfiddle.net/anthonyparrett7/0bmw79yw/

$(document).ready( function() {
/* Question and Answer Dropdowns */     
$(".dropdown-link").click(function(e) {         
  e.preventDefault();
  var $div = $(this).next('.dropdown-container');
  $(".dropdown-container").not($div).hide();
    if ($div.is(":visible")) {
        $div.hide()
    }  else {
       $div.show();
    }
});
$(document).click(function(e){
    var p = $(e.target).closest('.dropdown').length
    if (!p) {
          $(".dropdown-container").hide();
    }
});
});  

最佳答案

您没有在页面加载时正确调用函数。

尝试使用 $(document).ready(function() 而不是 $(document).on("pageinit", "#page-container", function()

看这个片段:

$(document).ready(function() {
  $(".dropdown-link").click(function(e) {
    var $div = $(this).next('.dropdown-container');
    $(".dropdown-container").not($div).hide();
    if ($div.is(":visible")) {
      $div.hide()
    } else {
      $div.show();
    }
  });
  $(document).click(function(e) {
    var p = $(e.target).closest('.dropdown').length
    if (!p) {
      $(".dropdown-container").hide();
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="dropdown-1" class="dropdown dropdown-processed">
  <div class="dropdown-link">
    <h4>What is a Question?</h4>
  </div>
  <div class="dropdown-container" style="display: none;">
    <p>Bla bla bla blablablabla words Ipsum</p>
  </div>
</div>

<div id="dropdown-2" class="dropdown dropdown-processed">
  <div class="dropdown-link">
    <h4>What is a Question 2?</h4>
  </div>
  <div class="dropdown-container" style="display: none;">
    <p>Bla bla bla blablablabla words Ipsum</p>
  </div>
</div>

关于javascript - 单击一个 Div 下拉功能在 iPhone 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37948661/

相关文章:

javascript - JS 中的日期相减

javascript - 日期格式JS错误

JavaScript/JQuery : Reload a page AFTER two functions have completed

javascript - jQuery 3.1.1 appendTo 和空内存泄漏

html - Bootstrap 徽章 - 文本未在徽章中居中

javascript - 使用 rowIndex 在单击的行下方插入新行

javascript - 获取网格的 &lt;input&gt; 子级以根据内容增大和缩小

jquery - 选择 Bootstrap 3 无法正常工作

javascript - 如何使音频仅在添加到播放列表时播放?

python - 如何使用 python webdriver 在 html 标签之间放置文本