我想随机选择一个<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)
的信息。对我有什么帮助?谢谢!
答案 0 :(得分:1)
像这样:
$('.movable').eq(clickTile).click();
$(...)
返回一个jQuery对象。 jQuery对象的索引属性([3]
)返回原始DOM元素,而不是jQuery对象
要获取jQuery对象中特定元素的jQuery对象,请调用.eq()
。