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()
,您可以挂钩 click
和 touch
事件,这些事件将适用于桌面和移动设备。试试这个:
<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')
});
});
我在点击 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()
,您可以挂钩 click
和 touch
事件,这些事件将适用于桌面和移动设备。试试这个:
<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')
});
});