jqueryonclick必须单击两次才能出现弹出窗口,为什么?
嗨,我有两个相关的问题,我创建了一个弹出框,点击链接后会出现,但是你必须点击两次,它才会出现,我不知道为什么 我还可以收集被点击链接的id,然后从数据库中检索相应的信息,但是如果我点击另一个链接,它仍然会显示第一个链接信息。我想我需要做的是在盒子关闭时清空id变量,但是我又一次尝试了很多东西,也不知道怎么做 如果您有任何帮助,我们将不胜感激。代码如下所示jqueryonclick必须单击两次才能出现弹出窗口,为什么?,jquery,ajax,variables,Jquery,Ajax,Variables,嗨,我有两个相关的问题,我创建了一个弹出框,点击链接后会出现,但是你必须点击两次,它才会出现,我不知道为什么 我还可以收集被点击链接的id,然后从数据库中检索相应的信息,但是如果我点击另一个链接,它仍然会显示第一个链接信息。我想我需要做的是在盒子关闭时清空id变量,但是我又一次尝试了很多东西,也不知道怎么做 如果您有任何帮助,我们将不胜感激。代码如下所示 <script type="text/javascript"> var myCallback = function(caller)
<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(调用);
});
});
非常感谢。这非常好用,而且更有意义。我倾向于将事情过于复杂化。您刚才为我节省了很多时间,谢谢!