我是 jquery 的新手,我想知道是否可以使用 jquery 将所有点击事件(对于特定 div 中的元素)更改为双击事件?提前谢谢了。
function isTouchDevice(){
return (typeof(window.ontouchstart) != 'undefined') ? true : false;
}
if(isTouchDevice()===true){
//change click events to doubleclick events
}
我是 jquery 的新手,我想知道是否可以使用 jquery 将所有点击事件(对于特定 div 中的元素)更改为双击事件?提前谢谢了。
function isTouchDevice(){
return (typeof(window.ontouchstart) != 'undefined') ? true : false;
}
if(isTouchDevice()===true){
//change click events to doubleclick events
}
观看这个魔术:
$('*').each(function(){
var click = $(this).data('events').click;
if(click[0]) { //check if there is a click handler attached
$(this).on('dblclick', click[0].handler).off('click');
}
});
以上将遍历页面上的每个元素并将其单击处理程序移动到其 dblclick 处理程序。
*
通常不建议使用。我会尝试只选择所有具有点击选择器的元素并通过它们。
当然是...
function yourClickHandler(event) {
// here you can check for click or dblclick as so...
if (event.type == 'dblclick') { /* handle dblclick specific stuff */ }
else if (event.type == 'click') { /* handle normal click specific stuff */ }
}
$(document).ready(function() {
if (isTouchDevice()) {
$('div#SPECIFIC_DIV *').on('dblclick', yourClickHandler);
}
else {
$('div#SPECIFIC_DIV *').on('click', yourClickHandler);
}
});
试试这个:
$('#target').click(function() {
if(isTouchDevice == true) {
$('#target').dblclick();
}
});