0

我是 jquery 的新手,我想知道是否可以使用 jquery 将所有点击事件(对于特定 div 中的元素)更改为双击事件?提前谢谢了。

function isTouchDevice(){
  return (typeof(window.ontouchstart) != 'undefined') ? true : false;
}
if(isTouchDevice()===true){
     //change click events to doubleclick events
}
4

3 回答 3

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 处理程序。

*通常不建议使用。我会尝试只选择所有具有点击选择器的元素并通过它们。

于 2012-12-24T15:51:58.560 回答
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);
    }
});
于 2012-12-24T15:51:41.087 回答
-1

试试这个:

$('#target').click(function() {
    if(isTouchDevice == true) {
      $('#target').dblclick();
    }
});
于 2012-12-24T15:53:58.573 回答