仅在第二次单击后才会触发JQuery .click()

时间:2013-05-14 00:14:36

标签: php javascript jquery

我正在尝试使用JQuery load()而不是javascript ajax。我使用php循环为每个ids生成了多个DIV

当创建如下所示的JQuery函数时,我将生成的div的id传递得很好但是,我必须在按钮上单击两次才能触发.click()事件,我放了一个window.alert().click()函数内部,在第二次单击按钮后弹出两次,任何想法如何以正确的方式执行?

已更新

function updateDivs(generatedID){
    $('#'+generatedID).click(function(){
        //do some .load() stuff
    });
}

<?php
 for($i=0 ; $i < 20 ; $i++){
   $gen = mt_rand(100,999);
?>
   <div id="<?=$gen;?>" onclick="updateDivs(<?=$gen;?>) > some content </div
<?php
}
?>

2 个答案:

答案 0 :(得分:0)

我认为你想要的是绑定一个doubleclick事件处理程序,可以这样做:

$("<?=$gen;?>").on("dblclick", function (e) {
   // do some stuff here.
});

答案 1 :(得分:0)

我认为最简单的方法是为div设置一个类,在里面你可以使用event.target.id获取div id。

我认为你的问题是你需要像document.ready()或$(function(){});

<div id="div_id" class="mydiv"> some content </div>
<script type="text/javascript">
           $(document).ready(function () {
        $(".mydiv").click(function (event) {
            alert(event.target.id);
        });
    });
</script>