好的,我有一张国家地图,用户点击他们的状态,并通过这样的页面通过jQuery加载了一堆供应商:
$('#sa').click(function () {
$('#mapimg').hide();
$('<div id="info"> </div>').load('dealers.php?state=sa', function () {
$(this).hide()
.appendTo('#dealers')
.slideDown(3000);
});
然后,当它显示交易时,我希望用户能够点击每个经销商旁边的“联系我们”并进行模式跳转,其中包含联系表格。但它似乎没有被解雇。点击只是什么也没做。
以下是触发模式框的jQuery代码:
$(document).ready(function() {
//select all the a tag with name equal to modal
$('a').click(function(e) { //I have tried everything here, div, a[name=something], li, etc
//Cancel the link behavior
e.preventDefault();
//Get the A tag
var id = $(this).attr('href');
//Get the screen height and width
var maskHeight = $(document).height();
var maskWidth = $(window).width();
//Set heigth and width to mask to fill up the whole screen
$('#mask').css({'width':maskWidth,'height':maskHeight});
//transition effect
$('#mask').fadeIn(1000);
$('#mask').fadeTo("slow",0.8);
//Get the window height and width
var winH = $(window).height();
var winW = $(window).width();
//Set the popup window to center
$(id).css('top', winH/2-$(id).height()/2);
$(id).css('left', winW/2-$(id).width()/2);
//transition effect
$(id).fadeIn(2000);
});
//if close button is clicked
$('.window .close').click(function (e) {
//Cancel the link behavior
e.preventDefault();
$('#mask').hide();
$('.window').hide();
});
//if mask is clicked
$('#mask').click(function () {
$(this).hide();
$('.window').hide();
});
});
以下代码在加载的内容之外工作,但不在内部。有人有任何想法吗?
<a href='#dialog2' class='openmodal'>Open Modal Box</a>
提前谢谢!
答案 0 :(得分:2)
使用动态加载的内容,您只需要实时绑定。请使用jQuery live events。假设联系链接具有类“clsContact”,那么您可以在“OpenModal”函数中打开对话框打开登录并绑定如下链接:
$("a.clsContact").live('click', OpenModal);