jqueryonclick必须单击两次才能出现弹出窗口,为什么?

jqueryonclick必须单击两次才能出现弹出窗口,为什么?,jquery,ajax,variables,Jquery,Ajax,Variables,嗨,我有两个相关的问题,我创建了一个弹出框,点击链接后会出现,但是你必须点击两次,它才会出现,我不知道为什么 我还可以收集被点击链接的id,然后从数据库中检索相应的信息,但是如果我点击另一个链接,它仍然会显示第一个链接信息。我想我需要做的是在盒子关闭时清空id变量,但是我又一次尝试了很多东西,也不知道怎么做 如果您有任何帮助,我们将不胜感激。代码如下所示 <script type="text/javascript"> var myCallback = function(caller)

嗨,我有两个相关的问题,我创建了一个弹出框,点击链接后会出现,但是你必须点击两次,它才会出现,我不知道为什么

我还可以收集被点击链接的id,然后从数据库中检索相应的信息,但是如果我点击另一个链接,它仍然会显示第一个链接信息。我想我需要做的是在盒子关闭时清空id变量,但是我又一次尝试了很多东西,也不知道怎么做

如果您有任何帮助,我们将不胜感激。代码如下所示

<script type="text/javascript">
var myCallback = function(caller){
    var linkID = caller.id; 
    caller.rel ="gb_page_center[1020, 550]";
    caller.href = "species/butterfly.php?linkID="+linkID;
    var calling = caller.href;

    $(document).ready (function() {
        $('.descript').click(function(event) {
            $('#popup').css('display','block');
            $('#popup').empty();
            $('#popup').load(calling);
        })
    });
}
</script>

var myCallback=函数(调用者){
var linkID=caller.id;
caller.rel=“gb_页面_中心[1020550]”;
caller.href=“species/butterfly.php?linkID=“+linkID;
var calling=caller.href;
$(文档).ready(函数(){
$('.descript')。单击(函数(事件){
$('弹出').css('显示','块');
$('弹出').empty();
$('弹出').load(调用);
})
});
}
链接如下:

<span id="11" class="bluebells descript"  title="Bluebells (click me)"  onclick="myCallback(this);" ></span>


谢谢

您正在将函数中的
click()
事件重新绑定到
$('.descript')。单击(…
这将导致事件触发多次(与绑定次数相同).

在您的回调“myCallback”中,您正在将另一个单击事件侦听器添加到span。每次持续单击都将导致另一个额外调用。

您的第一次单击实际上是绑定
单击()
事件,尝试在jQuery中执行所有操作
单击
并删除span中的
onclick
属性

$(document).ready(function() {
    $('.descript').click(function(event) {
        var linkID = this.id;
        this.rel = "gb_page_center[1020, 550]";
        this.href = "species/butterfly.php?linkID=" + linkID;
        var calling = this.href;
        $('#popup').css('display', 'block');
        $('#popup').empty();
        $('#popup').load(calling);
    });
});

<span id="11" class="bluebells descript"  title="Bluebells (click me)"></span>
$(文档).ready(函数(){
$('.descript')。单击(函数(事件){
var linkID=this.id;
this.rel=“gb_page_center[1020550]”;
this.href=“species/butterfly.php?linkID=“+linkID;
var calling=this.href;
$('弹出').css('显示','块');
$('弹出').empty();
$('弹出').load(调用);
});
});

非常感谢。这非常好用,而且更有意义。我倾向于将事情过于复杂化。您刚才为我节省了很多时间,谢谢!