0

我遇到了即兴和实例的问题。我有两个即兴的实例,所以当我调用关闭第一个时,另一个也关闭。

有没有办法说关闭一个而不关闭另一个?

4

3 回答 3

0

所以我猜你正在使用 jQuery.prompt.close() ?

我从来没有使用过即兴,但在我看来,它并不意味着支持同时打开的多个实例。您可以通过查看来源来了解更多信息。

http://trentrichardson.com/Impromptu/scripts/jquery-impromptu.3.1.js

就个人而言,我建议您切换到设计更好的提示系统,但如果您真的想继续使用它,则必须手动关闭它们。这是 .close() 调用的内部结构

$('#'+ $.prompt.currentPrefix +'box').fadeOut('fast',function(){
  $(this).remove();
});

currentPrefix 等于:

$.prompt( 'test', { prefix: 'the_prefix' } );
$.prompt( 'test', { prefix: 'the_prefix2' } );

因此,如果您想将两个实例分开,您只需要使用两个单独的前缀,然后手动关闭它们,如下所示:

$('#the_prefixbox').fadeOut('fast',function(){
  $(this).remove();
});
$('#the_prefix2box').fadeOut('fast',function(){
  $(this).remove();
});
于 2010-09-14T15:34:33.460 回答
0

我在上面尝试了 BBonifield 的解决方案,但它对我不起作用。也许我做错了。我的情况要求我关闭当前显示的任何提示,以便显示下一个提示。为此,我使用了以下行:

$(".jqibox").remove();

这将立即破坏当前提示。

于 2012-10-26T16:36:00.933 回答
0

http://trentrichardson.com/Impromptu/

即兴4.2

我尝试了 BBonifield 提供的代码,但仍然没有得到想要的结果。两个提示都会关闭,或者第一个提示不会关闭(取决于执行顺序)。问题仍然是前面建议的前缀,但 ID 选择器不起作用。我不得不使用这个类。

$('.the_prefixbox').fadeOut('fast',function(){
  $(this).remove();
});
$('.the_prefix2box').fadeOut('fast',function(){
  $(this).remove();
});

此外,如果您使用默认值以外的前缀,则需要用 jquery-impromptu.css 中的前缀替换所有“jqi”实例。

于 2013-04-17T17:07:35.257 回答