单击Div下拉功能不能在iPhone上工作

时间:2016-06-21 15:30:54

标签: javascript jquery html css iphone

编辑:事实证明问题不一定是由于我的代码。当我点击导航栏中的链接时,除了Chrome之外,每个浏览器都会移至mobile / folder / page.html。当我点击Chrome中的链接时,由于某种原因,它会打开到/mobile/#/mobile/folder/page.html,这就是为什么它不起作用。如果我直接进入页面它工作正常。有谁知道如何解决这个问题?

此代码适用于我的每个浏览器,适用于Android手机,但不适用于iPhone。我尝试添加点击和触摸而不是onClick,切换而不是隐藏和显示,添加onclick到css,并添加cursor:指向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();
    }
});
});  

2 个答案:

答案 0 :(得分:0)

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

尝试使用$(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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你有没有尝试过简单的东西:

$(document).ready( function() {
    $(".dropdown-link").click(function(e) {
      $(".dropdown-container").hide();
      $(this).next(".dropdown-container").toggle();
    });
    $(document).click(function(e) {
      var p = $(e.target).closest('.dropdown').length
      if (!p) {
        $(".dropdown-container").hide();
      }
    });
  });
相关问题