为什么HTML onclick属性在我的项目中的移动设备上不起作用?

时间:2017-10-08 15:04:22

标签: javascript html css

我正在使用jQuery库编写一个网页设计模板。它在桌面上非常好用但不适用于移动设备。我的问题是当我点击HTML''元素时我想隐藏一些显示divs,所以我通过使用jquery完成了它,它在桌面上正常工作,但不适用于移动设备。(我在HTML''元素上定义了onclick属性,这是一个按钮,当我点击这个按钮时隐藏一些div,并从HTML onclick中调用javascript函数,该函数在所述''元素中定义。)。请帮助我找到我的错误。

  <div class="page-side">
    <a href="#" id="home" class="icon fa-home active" onclick='BaseManager.reload();StyleManager.select(this,"camera","file");'></a>
    <a href="#" id="camera" class="icon fa-camera-retro" onclick='StyleManager.select(this,"home","file");'></a>
    <a href="#" id="file" class="icon fa-file-text-o" onclick='StyleManager.select(this,"home","camera");'></a>
  </div>


 select: function() {
    var context,argument,arguments = StyleManager.select.arguments;
    var select,miss,page_display;

    page_display = function(displays={}) {
      var count=0,display = {0:'title',1:'head',2:'gallery',3:'generic'};
      for (display[count] in displays) {
        BaseManager.getElement("#"+display[count]+"").css({'display': displays[display[count]]});
        count++;
      }
    };

    context = arguments[0];
    argument = {
      home: function() {
        page_display();
      },
      camera: function() {
        page_display();
      },
      file: function() {
        page_display({title: 'block',head: 'none',gallery: 'none',generic: 'flex'});
      }
    };
    select = BaseManager.getElement("#"+context.id+"");

    if(!select.hasClass("active")) {
      select.addClass("active");
      for(var i=1;i<arguments.length;i++) {
        miss = BaseManager.getElement("#"+arguments[i]+"");
        miss.removeClass("active");
      }
      if(argument.hasOwnProperty(context.id)) {
        argument[context.id]();
      }
    }
  }

.page-side a
{
  display: block;
  text-decoration: none;
  padding: 10px 14.7px;
  color: rgba(255, 255, 255, 0.5);
  outline: 0;
}

.page-side a:hover
{
  color: white;
}

.page-side a.active
{
  color: #19B5FE;
}

这是我的github page! 这是我的github repo

1 个答案:

答案 0 :(得分:0)

请参阅此问题:Javascript onClick for mobile devices

你需要使用touchstart作为事件。

:)