diff --git a/src/BootstrapBlazor.Shared/Pages/Samples/Modals.razor b/src/BootstrapBlazor.Shared/Pages/Samples/Modals.razor index 095068143b398dd6a16ba390925cdfd553720f64..efa652a0e73b83f78891fc70134f2f4eb1571f16 100644 --- a/src/BootstrapBlazor.Shared/Pages/Samples/Modals.razor +++ b/src/BootstrapBlazor.Shared/Pages/Samples/Modals.razor @@ -25,8 +25,10 @@
-

通过设置 Modal 组件的 IsKeyboard 参数,开启弹窗是否支持 ESC,请点击后面按钮设置后再点击 弹窗 按钮测试效果

-
diff --git a/src/BootstrapBlazor/Components/Modal/Modal.razor.cs b/src/BootstrapBlazor/Components/Modal/Modal.razor.cs index 3b0a578e50cd8e0a5fa18cedbe60c17056d5ee3d..5e7897d401b12ef13453cbc8da4e90b510123bfd 100644 --- a/src/BootstrapBlazor/Components/Modal/Modal.razor.cs +++ b/src/BootstrapBlazor/Components/Modal/Modal.razor.cs @@ -63,7 +63,7 @@ namespace BootstrapBlazor.Components private bool IsRendered { get; set; } - private string? KeyboardString => IsKeyboard ? null : "false"; + private string? KeyboardString => IsKeyboard ? "true" : "false"; /// /// OnAfterRender 方法 diff --git a/src/BootstrapBlazor/Components/Modal/Modal.razor.cs.js b/src/BootstrapBlazor/Components/Modal/Modal.razor.cs.js index 8e1a296b33cfa88afa8d1d9ef0aa06aac3eab271..f9d56d31a9d7468c5362d08e63219698a5ee6926 100644 --- a/src/BootstrapBlazor/Components/Modal/Modal.razor.cs.js +++ b/src/BootstrapBlazor/Components/Modal/Modal.razor.cs.js @@ -71,7 +71,7 @@ ); } $el.on('shown.bs.modal', function () { - var keyboard = $el.data('keyboard'); + var keyboard = $el.attr('data-keyboard') === "true"; if (keyboard === true) { $(document).one('keyup', function (e) { if (e.key === 'Escape') { @@ -87,11 +87,10 @@ } else { if (method !== 'hide' && method !== 'dispose') { - var keyboard = $el.attr('data-keyboard') === "false"; + var keyboard = $el.attr('data-keyboard') === "true"; var config = $el.data('bs.modal'); if (config != null) { - config._config.keyboard = !keyboard; - console.log(!keyboard); + config._config.keyboard = keyboard; } } $el.modal(method); diff --git a/src/BootstrapBlazor/Components/Modal/Modal.razor.cs.min.js b/src/BootstrapBlazor/Components/Modal/Modal.razor.cs.min.js index 43a7848ade5297dd53e869a9ecaf63b43a3cb53d..73f5d7092fb4a8f332d9da79b78eb20043aa30d3 100644 --- a/src/BootstrapBlazor/Components/Modal/Modal.razor.cs.min.js +++ b/src/BootstrapBlazor/Components/Modal/Modal.razor.cs.min.js @@ -1 +1 @@ -(function(n){n.extend({bb_modal_dialog:function(t,i,r){var u=n(t);u.data("bb_dotnet_invoker",{obj:i,method:r})},bb_modal:function(t,i){var u=n(t),o,s;if(i==="dispose")u.remove();else if(i==="init"){if(u.closest(".swal").length===0){n("body").append(u);var h=0,c=0,e=0,l=0,f={top:0,left:0},r=null;u.find(".is-draggable .modal-header").drag(function(n){h=n.clientX||n.touches[0].clientX;c=n.clientY||n.touches[0].clientY;r=this.closest(".modal-dialog");e=r.width();l=r.height();f.top=parseInt(r.css("marginTop").replace("px",""));f.left=parseInt(r.css("marginLeft").replace("px",""));r.css({marginLeft:f.left,marginTop:f.top});r.removeClass("modal-dialog-centered");r.css("width",e);this.addClass("is-drag")},function(t){var i=t.clientX||t.changedTouches[0].clientX,u=t.clientY||t.changedTouches[0].clientY;newValX=f.left+Math.ceil(i-h);newValY=f.top+Math.ceil(u-c);newValX<=0&&(newValX=0);newValY<=0&&(newValY=0);newValX+e0);while(u.length>0)i=u.shift(),i.trigger("click")},bb_init_side_menu:function(t){var i=t.hasClass("accordion"),r=t.children(".submenu"),u;r.find(".submenu").each(function(){var t=n(this),r,f,e,u;t.addClass("collapse").removeClass("d-none");i?(r=t.parentsUntil(".submenu"),r.prop("nodeName")==="LI"&&(f=r.parent().attr("id"),t.attr("data-parent","#"+f))):t.removeAttr("data-parent");e=t.attr("id");u=t.prev();u.attr("data-toggle","collapse");u.attr("href","#"+e)});u=r.find(".collapse");u.each(function(t,r){var u=n(r),f;u.data("bs.collapse")&&u.collapse("dispose");f="";i&&(f=u.attr("data-parent"));u.collapse({parent:f,toggle:!1})})},bb_side_menu:function(t){var i=n(t);n.bb_init_side_menu(i);n.bb_auto_expand(n(t))}})})(jQuery); -(function(n){n.extend({bb_modal_dialog:function(t,i,r){var u=n(t);u.data("bb_dotnet_invoker",{obj:i,method:r})},bb_modal:function(t,i){var u=n(t),o,s;if(i==="dispose")u.remove();else if(i==="init"){if(u.closest(".swal").length===0){n("body").append(u);var h=0,c=0,e=0,l=0,f={top:0,left:0},r=null;u.find(".is-draggable .modal-header").drag(function(n){h=n.clientX||n.touches[0].clientX;c=n.clientY||n.touches[0].clientY;r=this.closest(".modal-dialog");e=r.width();l=r.height();f.top=parseInt(r.css("marginTop").replace("px",""));f.left=parseInt(r.css("marginLeft").replace("px",""));r.css({marginLeft:f.left,marginTop:f.top});r.removeClass("modal-dialog-centered");r.css("width",e);this.addClass("is-drag")},function(t){var i=t.clientX||t.changedTouches[0].clientX,u=t.clientY||t.changedTouches[0].clientY;newValX=f.left+Math.ceil(i-h);newValY=f.top+Math.ceil(u-c);newValX<=0&&(newValX=0);newValY<=0&&(newValY=0);newValX+e0&&(u=r.attr("id"),i=n('[aria-describedby="'+u+'"]')),i};n(document).on("click",function(i){var r=!0,u=n(i.target),f=t(u);f!=null&&(r=!1);r&&n('[data-toggle="confirm"][aria-describedby^="popover"]').popover("hide")});n(document).on("click",".popover-confirm-buttons .btn",function(i){var r,u,f;i.stopPropagation();r=t(n(this));r!=null&&(r.popover("hide"),u=r.attr("id"),$ele=n('[data-target="'+u+'"]'),f=this.getAttribute("data-dismiss")==="confirm"?$ele.find(".popover-confirm-buttons .btn:first"):$ele.find(".popover-confirm-buttons .btn:last"),f.trigger("click"))})})})(jQuery); (function(n){n.extend({bb_qrcode:function(t){var u=n(t),f=u.find(".qrcode-img"),i,r,e;f.html("");i="";r=null;arguments.length===2?i=arguments[1]:(i=arguments[2],r=arguments[1]);i==="generate"&&(e=u.find(".qrcode-text").val(),qrcode=new QRCode(f[0],{text:e,width:128,height:128,colorDark:"#000000",colorLight:"#ffffff",correctLevel:QRCode.CorrectLevel.H}),r.invokeMethodAsync("Generated"))}})})(jQuery); (function(n){n.extend({bb_rate:function(t,i,r){var u=n(t),f;u.val=parseInt(u.attr("aria-valuenow"));f=function(){var t=u.find(".rate-item");t.each(function(t){t>u.val?n(this).removeClass("is-on"):n(this).addClass("is-on")})};u.on("mouseenter",".rate-item",function(){if(!u.hasClass("disabled")){var t=u.find(".rate-item"),i=t.toArray().indexOf(this);t.each(function(t){t>i?n(this).removeClass("is-on"):n(this).addClass("is-on")})}});u.on("mouseleave",function(){u.hasClass("disabled")||f()});u.on("click",".rate-item",function(){if(!u.hasClass("disabled")){var n=u.find(".rate-item");u.val=n.toArray().indexOf(this);u.attr("aria-valuenow",u.val+1);i.invokeMethodAsync(r,u.val+1)}})}})})(jQuery);