为什么fancybox需要激活两次点击?

jQuery的

 jQuery(document).ready(function () { jQuery("a.fancybox_videojs").click(function(e) { e.preventDefault(); var url = jQuery(this).attr('title'); var rel = jQuery(this).attr('rel'); var img = jQuery(this).children('img').attr('src'); jQuery(this).fancybox({ 'overlayOpacity' : , 'overlayColor' : '', 'hideOnContentClick' : false, 'content': '
' + '' + '
', 'titleShow' : false, 'onComplete': function () { jQuery("#fancybox-inner").css({ 'overflow': 'hidden' }); VideoJS.setupAllWhenReady(); }, 'onClosed': function () { jQuery("#fancybox-inner").empty(); } }); }); });

HTML

 

我这里有两个问题。

  1. 需要两次点击才能调出fancybox。
  2. 我希望.work_cat的链接也能显示fancybox,但它必须从相应的.work_cell获取变量

我省略了部分jQuery代码,所以它不会太长。 如果你需要看到它,我会发布它

fancybox适用于点击。

试试这个(将fancybox附加到你想要的所有地方):

  jQuery("a.fancybox_videojs").click(function(){return false;}) .each(function(i,item) { var url = jQuery(this).attr('title'); var rel = jQuery(this).attr('rel'); var img = jQuery(this).children('img').attr('src'); jQuery(this).fancybox({ 'overlayOpacity' : , 'overlayColor' : '', 'hideOnContentClick' : false, 'content': '
' + '' + '
', 'titleShow' : false, 'onComplete': function () { jQuery("#fancybox-inner").css({ 'overflow': 'hidden' }); VideoJS.setupAllWhenReady(); }, 'onClosed': function () { jQuery("#fancybox-inner").empty(); } }); });