我是jquery的新手,我想知道是否有可能将所有点击事件(对于特定div中的元素)更改为使用jquery双击事件?非常感谢提前。
function isTouchDevice(){
return (typeof(window.ontouchstart) != 'undefined') ? true : false;
}
if(isTouchDevice()===true){
//change click events to doubleclick events
}
答案 0 :(得分:4)
观看这个魔术:
$('*').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处理程序。
通常不建议使用*
。我会尝试选择所有具有点击选择器的元素,然后通过它们。
答案 1 :(得分:0)
当然是......
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);
}
});
答案 2 :(得分:-1)
试试这个:
$('#target').click(function() {
if(isTouchDevice == true) {
$('#target').dblclick();
}
});