繁体   English   中英

从函数打开Jquery fancybox

[英]Opening Jquery fancybox from a function

我似乎在任何地方都找不到这个问题的答案,所以我在这里问。 我已经像这样成功地使用了fancybox:

$("#editor").fancybox({
            'width' : 1000,
            'height' : 600,
            'autoDimensions' : false,
            'autoScale' : false,
            'ajax' : {
                type : "POST",
                data : varstring
            }
        })

现在的问题是,由于新的需要,varstring必须包含应打开fancybox窗口的每个链接的唯一数据。 我描绘的方式是这样的:

function openEditor(elementid,sid,pid,gid){
    $("#"+elementid).fancybox({
            'width' : 1000,
            'height' : 600,
            'autoDimensions' : false,
            'autoScale' : false,
            'ajax' : {
                type : "POST",
                data : 'varstringnotimplemented'
            }
        });
    //$("#"+elementid).trigger('click');
    return false;
}

它不起作用,如果我取消注释触发器,则会得到:

uncaught exception: Syntax error, unrecognized expression: #

即使我设法使此工作正常进行,也很难做到吗?

谢谢

最好传递实际对象而不是id。

function openEditor(element,sid,pid,gid){
    var $element = $(element);
    var dataString = '??';
    var ajaxSettings = {
                type : "POST",
                data : dataString
            };

    $element.fancybox({
            'width' : 1000,
            'height' : 600,
            'autoDimensions' : false,
            'autoScale' : false,
            'ajax' : ajaxSettings 
        });
    $element.trigger('click');
    return false;
}

链接将是

<a href="javascript:void(0);" onclick="openEditor(this,'some','other','params')">text</a>

如果通过href传递实际对象,则无法传递,可以通过onclick传递

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM