onclick 事件不适用于移动设备

onclick event don´t works in mobile devices

我在点击 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/

我尝试了其他可能性,但我对这种方式并不走运,在此先感谢您的帮助,问候

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

在您使用 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')
  });
});