繁体   English   中英

jQuery对话框需要单击两次才能打开

[英]jQuery Dialog requires two clicks to open

我有一个jQuery对话框,当我单击类.currentDay时需要打开,但这仅在第二次单击时有效。 我在想我要在第一次单击时初始化模态,然后在第二次打开它。

我尝试了不同的方法使其初始化并打开,但是我似乎无法使其正常工作。 希望这里有人可以帮我。 这是我目前拥有的JavaScript。

  $('.currentDay').click(function () { var id = event.target.id; var url = '/Home/CalenderPartial/' + id; var dialog = $('<div style="display:none"></div>').appendTo('body'); dialog.load(url, {}, function (responseText, textStatus, XMLHttpRequest) { dialog.dialog({ autoOpen: true, closeText: "", width: $(window).width() - 300, height: $(window).height() - 100, close: function (event, ui) { dialog.remove(); } }); }); return false; }); 

它还会引发错误:未捕获的TypeError:dialog.dialog不是函数,但是仍在工作。

您是否尝试防止默认锚定行为?

 $('.currentDay').click(function ( e ) {
        e.preventDefault();
        alert('test');
 }); 

全部归功于github上的早期文章: 来源

对我来说工作正常...请检查工作示例

 $('.currentDay').click(function () { var id = event.target.id; var url = '/Home/CalenderPartial/' + id; var dialog = $('<div style="display:none"></div>').appendTo('body'); dialog.load(url, {}, function (responseText, textStatus, XMLHttpRequest) { dialog.dialog({ autoOpen: true, closeText: "", width: $(window).width() - 300, height: $(window).height() - 100, close: function (event, ui) { dialog.remove(); } }); }); return false; }); 
 @import "//code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css"; @import "/resources/demos/style.css"; 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script> <button class="currentDay">BTN 1</button> <button class="currentDay">BTN 2</button> <button class="currentDay">BTN 3</button> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM