1

我需要的网站需要在用户单击链接时对其进行检查,这些链接会将他们带到外部网站(不要问为什么,它就是这样......)

客户想要某种弹出框,然后会显示“你真的想去吗?” 以及 2 个是或否按钮。

现在,到目前为止,我已经在经典浏览器弹出窗口中完成了所有这些操作,因为如果 JS 关闭,它会非常优雅地降级以离开计划 ahref 链接。我的问题是……有没有比普通的蹩脚弹出窗口更时髦的另一种方法?

我一直在尝试使用thickbox和一些JQuery 滑块,但是一旦你禁用了Javascript

a)没有“弹出窗口” b)由于激活不再工作的“弹出窗口”所需的标记,即使链接不再指向它应该去的地方

有什么想法或想法吗?:P

4

4 回答 4

3

你应该做的是这样的:

$("a.outside").click(function (){
  openPopupWithThickbox();
  var result = getResultFromThickbox();
  return result;
});

如果用户单击“否”,这将阻止链接激活,但如果用户想离开该站点,该链接将起作用。

当然,它也会优雅地降级。

于 2009-03-18T15:44:04.553 回答
1

鉴于可用的选项很多,我会选择 jQuery UI 的对话框组件

于 2009-03-18T15:43:32.963 回答
0

答案是使用thickbox:

<a href="http://www.whatever.com" onclick="tb_show('Warning', 'ajax.html?height=300&width=440', 'thickbox');return false">

然后您可以检索 ajax.html(或其他)并显示。如果要使用按钮关闭厚盒,只需添加:

<a href="#" onclick="tb_remove()">
于 2009-03-19T09:31:00.263 回答
0

我有一个使用 jQuery 在页面上执行此操作的请求,并想出了这个:

jQuery( function () {
  jQuery( '#warn-dialog' )
    .dialog({
      autoOpen: false,
      modal: true,
      buttons : { 
        'Yes' : function () { 
          document.location.href = jQuery( '#email-link' ).attr( 'href' );
        },
        'No' : function () { 
          jQuery( '#warn-dialog' ).dialog( 'close' ); 
        }
      }
    });
  jQuery( '.warn-link' ).click( function ( event ) {
    event.preventDefault();
    jQuery( '#warn-dialog' ).dialog( 'open' );
  });
});

使用 HTML 如下:

<div id="warn-dialog" class="ui-helper-hidden" title="Warning">
  <p>Are you sure you want to leave?</p>
</div>

<p>
  <a class="warn-link" href="http://link1.com">link1</a>
  <a class="warn-link" href="http://link2.com">link2</a>
</p>
于 2009-03-27T21:00:08.347 回答