【问题标题】:Javascript onclick in <option> of <select> not working on mobile<select> 的 <option> 中的 Javascript onclick 在移动设备上不起作用
【发布时间】:2017-10-04 13:25:54
【问题描述】:

它可以在普通浏览器中使用。不适用于移动设备。

这是我所拥有的:

function processAjax(kat,div)
{
    if(div==1)
    {
        $('#DivCat1').hide('slow', function() {});
        $('#DivCat2').hide('slow', function() {});
        $('#DivCat3').hide('slow', function() {});
        $('#DivCat4').hide('slow', function() {});
        $('#DivCat5').hide('slow', function() {});
        $('#DivCat6').hide('slow', function() {});
        $('#DivCat7').hide('slow', function() {});
    }
    if(div==2)
    {
        $('#DivCat3').hide('slow', function() {});
        $('#DivCat4').hide('slow', function() {});
        $('#DivCat5').hide('slow', function() {});
        $('#DivCat6').hide('slow', function() {});
        $('#DivCat7').hide('slow', function() {});
    }
    if(div==3)
    {
        $('#DivCat4').hide('slow', function() {});
        $('#DivCat5').hide('slow', function() {});
        $('#DivCat6').hide('slow', function() {});
        $('#DivCat7').hide('slow', function() {});
    }
    if(div==4)
    {
        $('#DivCat5').hide('slow', function() {});
        $('#DivCat6').hide('slow', function() {});
        $('#DivCat7').hide('slow', function() {});
    }
    if(div==5)
    {
        $('#DivCat6').hide('slow', function() {});
        $('#DivCat7').hide('slow', function() {});
    }
    if(div==6)
    {
        $('#DivCat7').hide('slow', function() {});
    }
    if(div==7)
    {
        $('#DivCat8').hide('slow', function() {});
    }
    $('#DivCat'+div).show('slow', function() {});
    $('#DivCat'+div).load('katgetir.php?kat='+kat+'&div='+div);

    $('#change').animate({scrollLeft : 500},'slow');
}
<select multiple class="form-control">           

  <option id="45" onclick="processAjax(45,1)">Kat</option>

</select>

【问题讨论】:

  • onclick 在某些桌面浏览器的选项中也不起作用......在选择上使用 onchange。
  • 抛开问题,你应该研究一下DRY原则。它将大大改进您的代码。
  • ,缩进您的代码并在整个代码中始终使用indenting style。这样做会使它更加更容易阅读/维护。作为副作用,为您放置在 Stack Overflow 上的代码这样做会使您更有可能让人们对您的帖子进行投票,并使人们更有可能花时间回答您的问题。您选择哪种风格并不重要(尽管在 IMO 中,有些风格比其他风格更适合 JavaScript)。但是,选择一个并一致地用于单个项目中的所有代码。

标签: javascript jquery html android-layout mobile


【解决方案1】:

您正在使用onclick,但在移动设备上您不是单击而是更改父选择的值。检查此link,您会发现它也可以在移动设备上运行。

【讨论】:

  • 答案应该是把 onchange 事件添加到您的选择框中,就像上面关于问题的 cmets 一样
  • @GüneySaramalı 感谢您修复演示的链接。你认为你可以使用 StackOverflow 的 &lt;!-- begin snippet: ... &gt; 功能在你的帖子中内联它吗?
  • @Cœur 我现在就是这样 =)
  • 请在您的答案中输入代码。外部网站上的代码链接只能用于补充问题或答案中包含的代码。外部站点不应是此类代码的主要存储库。当该页面失效时,在外部站点上拥有指向代码的链接将变得毫无用处。
  • 在尝试回答更多问题之前,请阅读How do I write a good answer?。这是有效的仅链接答案,并且很快就会腐烂并且对任何人都没有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 1970-01-01
  • 2021-05-21
  • 2014-01-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多