我有这行jQuery
jQuery(document).ready(function($) {
$(".thumbs a.dlink").live("click", function() {
alert("yo");
});
在我最初包含的链接上,代码中返回false,导致页面无法按预期工作。警报只是我测试,但事实证明,警报将延迟任何当前页面操作,直到它关闭。
非常感谢大家!
编辑:抱歉这可能导致任何混乱。故事的道德 - 注意回归虚假!答案 0 :(得分:1)
我认为问题在于代码中的return false
。
jQuery(document).ready(function($) {
$(".thumbs a.dlink").live("click", function() {
var id = $(this).attr('id'); //$("#galid").val();
id = id.substr(1);
alert("yo");
$.post( MyAjax.ajaxurl, {
action : 'download_counter',
postCommentNonce : MyAjax.postCommentNonce,
id : id
},function(response) {} );
});
});
答案 1 :(得分:0)
window.alert
函数暂停页面上的JavaScript并且是模态的,因此在用户关闭对话框之前不会发生任何事情。我对替代方案的建议是在html中创建自己的警报对话框,或者使用其中一个库/插件,例如: jQuery UI's dialog widget,并将其用于您的邮件以代替警报。由于你只是添加了一个dom元素,所以没有任何东西会暂停你的脚本,任何异步函数都会正常运行。
答案 2 :(得分:0)
尝试更像这样的事情:
<div id='dialog-yo' title='Download In Progress'>Yo</div>
<div class='thumbs'><a class="dlink" dlTitle='my cool image'>try this now</a></div>
<script>
$(function() {
$( '#dialog-yo' ).dialog({
modal: false,
autoOpen: false,
closeOnEscape: true,
draggable: true,
hide: 'slide',
show: 'fade',
resizable: true,
height: 200,
width: 200,
zIndex: 200,
buttons: {
'Yeah, Okay': function() { $( '#dialog-yo' ).dialog('close'); }
}
});
$(".thumbs a.dlink").live("click", function() {
$( '#dialog-yo' ).dialog('open').html(this.getAttribute('dlTitle'));
});
});
</script>
查看您的网站后,我不确定您的通知目的,但希望这可以让您灵活地继续前进。