必须访问jquery数组中的单个项目,然后模拟单击事件(javascript)

时间:2012-08-12 02:06:59

标签: jquery arrays events click simulate

我想随机选择一个<div>,然后触发相同的事件处理程序,如果我点击它就会被触发。我的事件处理程序如下所示:

function move(){        
    var currentLeft = $(this).css("left")
    var currentTop = $(this).css("top")
    if($(this).hasClass("movable")){
        $(this)
            .css("left", leftOld)
            .css("top", topOld);
        leftOld = currentLeft;
        topOld = currentTop;
    }
    findMovable();
}

通常此事件由click事件触发。事件监听器如下所示:

$(".piece").click(move);

我希望有一个可以随机点击这些div并触发相同事件处理程序的函数。我正在使用类似的东西,但无法弄清楚如何完成:

$("#shufflebutton").click(shufflePieces);  //event listener

function shufflePieces(){
    var clickTile = Math.floor(Math.random() * $(".movable").length);
    $(".movable")[clickTile].trigger(move); //this is the line I can't figure out
}

事件处理程序(移动)知道div是什么&#34;点击&#34;这一点非常重要。因为它必须使用<div>访问有关$(this)的信息。对我有什么帮助?谢谢!

1 个答案:

答案 0 :(得分:1)

像这样:

$('.movable').eq(clickTile).click();

$(...)返回一个jQuery对象。 jQuery对象的索引属性([3])返回原始DOM元素,而不是jQuery对象 要获取jQuery对象中特定元素的jQuery对象,请调用.eq()