jquery弹出关闭功能不起作用

Posted

技术标签:

【中文标题】jquery弹出关闭功能不起作用【英文标题】:jquery popup close function not working 【发布时间】:2013-12-11 08:59:51 【问题描述】:

我的移动网站上有按钮。我想做以下事情:

当我按下按钮时,应该会出现弹出窗口。此弹出窗口应包含一些文本和一个确定按钮。当我按下确定按钮时,弹出窗口应该消失,没有别的。该页面应保持相同的条件。

我的代码如下:

<a id="edit-btn2" data-rel="popup" data-transition="slide" data-position-to="window" class= "edit-button1"  data-role="button" href="#popupPanel"></a>

<div data-role="popup" id="popupPanel" data-dismissible='false' data-corners="false" data-theme="b"  style="height:100px; width:300px;">
  <p>This is just a demonstrator</p>
  <button href="#" id= "popup-button"  data-theme="c" data-icon="false" data-mini="false"  >OK</button>
</div>

javascript如下:

$( "#popup-button" ).click(function() 
  $( "#popupPanel" ).popup( "close" );
);

目前的情况是:

当我点击确定按钮时,它是第一次工作,但不是以后。

【问题讨论】:

【参考方案1】:

使用&lt;a&gt; 而不是&lt;button&gt;。您的代码应如下所示:

<a id="edit-btn2" data-rel="popup" data-transition="slide" data-position-to="window" class="edit-button1" data-role="button" href="#popupPanel"></a>

<div data-role="popup" id="popupPanel" data-dismissible="false" data-corners="false" data-theme="b" style="height:100px; width:300px;">
  <p>This is just a demonstrator</p>
  <a href="#" data-role="button" data-rel="back" id="popup-button" data-theme="c" data-icon="false" data-mini="false" >OK</a>
</div>

Demo

我也加了

data-role="button" data-rel="back"

在这种情况下不需要Javascript

【讨论】:

奇怪的是,您的代码不再有效......或者至少它对我不起作用。【参考方案2】:

将您的代码包装在pageinit 中,并使用.on 使用正确的事件绑定。

$(document).on("pageinit", function () 
    $("#popup-button").on("click", function () 
        $("#popupPanel").popup("close");
    );
);

或者,将data-rel="back" 属性添加到button。但是,如果您想使用它,添加data-history="false" 会更安全,以免返回上一页。

<button href="#" id= "popup-button"  data-theme="c" data-rel="back" data-history="false">OK</button>

Demo

【讨论】:

【参考方案3】:

对按钮使用 Class 而不是 id。

html - 按钮

href="#" class= "popup-button"  data-theme="c" data-icon="false" data-mini="false"

JavaScript

$( ".popup-button" ).click(function() 
  $( "#popupPanel" ).popup( "close" );
);

【讨论】:

以上是关于jquery弹出关闭功能不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap popover 关闭功能在 iphone 中不起作用

jquery悬停在我的列表项上不起作用

关闭(或弹出)我手动添加的 NavigationController 不起作用

Jquery datepicker 在模式弹出窗口中不起作用

QML self.emit 启动函数以打开弹出窗口。不起作用[关闭]

jquery验证表单不起作用[关闭]