我有一个相当大的项目,我们试图从jQuery UI对话框迁移到Fancybox。fancybox与yii/ajax链接问题
在过去的逻辑是这样......
<a onclick="functionthatcreatesdialog()">Link</a>
...
function functionthatcreatesdialog() {
$('#dialog').dialog({options}).dialog('open');
}
的fancybox的工作方式有些不同,根据API文档,这些都是我的企图;我想拉一个AJAX页面:
<a id="startimport"
href="<?=Yii::app()->baseUrl;?>/index-dev.php/products/uploadCsvToServer">
Import from file</a>
后来就......
$(document).ready(function() {
$('#startimport').fancybox({someoptions});
return false;
});
我也与onclick=""
直接尝试:
<a id="startimport"
href="<?=Yii::app()->baseUrl;?>/index-dev.php/products/uploadCsvToServer"
onclick="$('#startimport').fancybox();">
Import from file</a>
然而,没有任何作品!我也尝试了其他组合。没有。
Chrome的控制台没有工作,我认为脚本可能没有正确加载,但它是。
$('#startimport').fancybox
返回:
function (options) {
var index,
that = $(this),
selector = this.selector || '',
run = function(e) {
var what = $(this).blur(), idx = index, relType, relVal;
if (!(e.ctrlKey || e.altKey || e.shiftKey || e.metaKey) && !what.is('.fancybox-wrap')) {
relType = options.groupAttr || 'data-fancybox-group';
relVal = what.attr(relType);
if (!relVal) {
relType = 'rel';
relVal = what.get(0)[ relType ];
}
if (relVal && relVal !== '' && relVal !== 'nofollow') {
what = selector.length ? $(selector) : that;
what = what.filter('[' + relType + '="' + relVal + '"]');
idx = what.index(this);
}
options.index = idx;
// Stop an event from bubbling if everything is fine
if (F.open(what, options) !== false) {
e.preventDefault();
}
}
};
options = options || {};
index = options.index || 0;
if (!selector || options.live === false) {
that.unbind('click.fb-start').bind('click.fb-start', run);
} else {
D.undelegate(selector, 'click.fb-start').delegate(selector + ":not('.fancybox-item, .fancybox-nav')", 'click.fb-start', run);
}
this.filter('[data-fancybox-start=1]').trigger('click');
return this;
}
任何帮助,将不胜感激。我试图寻找解决方案,但没有任何我试图帮助。 我使用Yii框架顺便说一句。
你确定'fancybox'&'jQuery'被加载吗?点击链接时,你在控制台中是否有任何错误?您的链接是否有效? – 2013-04-22 13:48:34
我的链接工作,无论是jQuery和Fancybox都肯定加载(我在页面中的其他地方使用jQuery,查询一个元素的.fancybox属性),是的,我的链接(否则)工作,并发送给我的AJAX页面 – casraf 2013-04-22 13:54:20
fancybox是否显示空白弹出窗口或什么都没有发生? – 2013-04-22 13:59:40