onclick事件在移动设备上不起作用

时间:2019-08-15 09:06:18

标签: jquery onclick onclicklistener ontouch

在div中单击时,我使用此简单代码,检查输入是否选中,并且在单击div时也更改颜色

我的代码:

  <div class="container_item" onclick="$('.check_<?php echo $pd;?>').attr('checked','checked');$('.drop_container_item').removeClass('drop_click');$(this).addClass('drop_click');">Test Click</div>

在所有浏览器中都有效的问题,但在移动设备中不起作用,例如,当我使用非移动设备时,更改div的颜色,但对支票不起作用

您可以在此处进行测试:

https://jsfiddle.net/aqnz3vc9/

我尝试了其他可能性,但是我对这种方式并不走运,谢谢您的帮助

1 个答案:

答案 0 :(得分:0)

首先,您不应该使用内联事件处理程序,因为它们非常过时并且不再是最佳实践。

使用jQuery时,请毫不干扰地附加事件处理程序。如果您使用on(),则可以同时挂接clicktouch事件,它们将适用于台式机和移动设备。试试这个:

<div class="drop_container_item">Click Now</div>
<input type="radio" class="check" name="veritas" value="yes">
jQuery(function($) {
  $('.drop_container_item').on('click touch', function() {
    $('.check').prop('checked', true);
    $('.drop_container_item').removeClass('drop_click');
    $(this).addClass('drop_click')
  });
});