在焦点上触发jQuery显示在移动设备上不起作用

在焦点上触发jQuery显示在移动设备上不起作用,jquery,click,focus,show,Jquery,Click,Focus,Show,当我关注一个写着“其他”的复选框时,我触发显示一个文本区域,因此用户只在从其他复选框中单击该选项时才需要它。() $(文档).ready(函数(){ $(“.BusTypeOtherTextArea”).hide(); $(“.BusTypeOther”).focus(函数(){ $(“.BusTypeOtherTextArea”).show(“fast”); 返回false; }); }); focus在台式机上运行良好,但在移动设备上运行不正常?如果我使用“单击”,则它对这两个选项都有效

当我关注一个写着“其他”的复选框时,我触发显示一个文本区域,因此用户只在从其他复选框中单击该选项时才需要它。()


$(文档).ready(函数(){
$(“.BusTypeOtherTextArea”).hide();
$(“.BusTypeOther”).focus(函数(){
$(“.BusTypeOtherTextArea”).show(“fast”);
返回false;
});
});

focus在台式机上运行良好,但在移动设备上运行不正常?如果我使用“单击”,则它对这两个选项都有效,但不会选中复选框。我如何使这项工作适用于移动设备?

我认为解决这一问题的方法应该是:

$('.checkBox').click(function(){
  if($(this).prop('checked')) {
    // show textarea
  } else {
    // hide
  }
});
我建议不要使用focus,尤其是在移动(平板电脑/手机)设备中没有此手势的情况下。

此解决方案适用于:

$(document).ready(function(){
    $(".BusTypeOtherTextArea").hide();
        $(".BusTypeOther").one('click focus', function() {
            $(".BusTypeOtherTextArea").show("fast");
            return false;
        });
    });

我的testarea一开始就不再隐藏。抱歉,似乎无法使用缩进等$(文档)格式化为代码。就绪(函数(){$(“.BusTypeOtherTextArea”).hide();$(“.BusTypeOther”)。单击(函数(){if($(this).prop(“checked”){$(“.BusTypeOtherTextArea”)。显示(“fast”);}否则{$(“.BusTypeOtherTextArea”)。隐藏(“fast”);});谢谢Ben,.one('click focus',function()似乎是一个很好的解决方案。
$(document).ready(function(){
    $(".BusTypeOtherTextArea").hide();
        $(".BusTypeOther").one('click focus', function() {
            $(".BusTypeOtherTextArea").show("fast");
            return false;
        });
    });