jquery - 随机化 .click 和 .dblclick

标签 jquery random click double-click

我试图让 jquery 随机化,如果需要单击或双击来运行某些功能,但不知何故,我陷入了我尝试过的各种方式中。我知道不应该这样做,但我正在研究干扰。 :D

这是我的 atm 代码:​​

var rnd=Math.floor(Math.random()*2)
if(rnd != 0) {
     $('.energie div.article').click(function() {

     $('#maincontent').css('height', '100%');        
     $('.energie div.article').hide(),

     $(this).next('div.detail').show();
     $('#numbersenergie div').removeClass();
     });
     };
 else {
     $('.energie div.article').dblclick(function() {

     $('#maincontent').css('height', '100%');        
     $('.energie div.article').hide(),

     $(this).next('div.detail').show();
     $('#numbersenergie div').removeClass();
     });
     };
 };

最佳答案

//No more code redundancy - use a function :)
function handler() {
    $('#maincontent').css('height', '100%');        
    $('.energie div.article').hide();
    $(this).next('div.detail').show();
    $('#numbersenergie div').removeClass();

    //"reroll" the handler
    bind();
}

//bind your event handler here, "50/50 probability"
function bind() {
    //random whether it will be dblclick or click
    var whatHandler = Math.random() > 0.5 ? 'dblclick' :'click';

    //bind our handlers to a namespace called 'test' for easy unbinding
    $('div').unbind('.test').bind(whatHandler + '.test', handler);
}

$(function() {
   //on doc ready, bind our handler for the first time
   bind();
});

请参阅此处的简化版本: http://jsfiddle.net/FvScr/10/

关于jquery - 随机化 .click 和 .dblclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6200737/

相关文章:

javascript - 在另一个 jquery 事件完成后播放声音

algorithm - 是否有生成心理随机数的算法?

swift - 检查 Swift 中常量的值

javascript - 按住 Enter 键时单击事件会多次触发

javascript - jQuery:委托(delegate)总是比直接函数绑定(bind)更好

android expandablelistview不展开也不接收点击事件

javascript - 如何借助jquery显示消息?

jquery - 如果页面有类则停止函数

javascript - 购物车仅使用 Jquery 和 Codeigniter 更新一次

c - 尽管只调用了一次 srand(),但 rand() 重复值