2012-09-06 61 views
1

我想添加一個模態窗口到asp.net 4.0應用程序。 當前Modal窗口在錨點上打開點擊 我想用按鈕單擊打開它。jquery模式窗口打開按鈕點擊

它看起來像我只是需要修改我的jQuery選擇器觸發按鈕單擊,但似乎沒有工作。

即。 $( 「:按鈕」)。住( 「點擊」,功能(E){應該解僱按鈕點擊

工作代碼火的鏈接低於

標記:

<a href="#" data-reveal-id="myModal"> 
    Add User 
</a> 

JQuery的文件:

(function ($) { 
$("a[data-reveal-id]").live("click", function (e) { 
    e.preventDefault(); 
    var modalLocation = $(this).attr("data-reveal-id"); 
    $("#" + modalLocation).reveal($(this).data()) 
}); 
$.fn.reveal = function (options) { 
    var defaults = { animation: "fadeAndPop", animationspeed: 300, closeonbackgroundclick: true, dismissmodalclass: "close-reveal-modal" }; 
    var options = $.extend({}, defaults, options); return this.each(function() { 
     var modal = $(this), topMeasure = parseInt(modal.css("top")),topOffset = modal.height() + topMeasure, locked = false, modalBG = $(".reveal-modal-bg"); 
     if (modalBG.length == 0) { modalBG = $('<div class="reveal-modal-bg" />').insertAfter(modal) } modal.bind("reveal:open", function() { 
      modalBG.unbind("click.modalEvent"); 
      $("." + options.dismissmodalclass).unbind("click.modalEvent"); 
      if (!locked) { 
       lockModal(); 
       if (options.animation == "fadeAndPop") { 
        modal.css({ top: $(document).scrollTop() - topOffset, opacity: 0, visibility: "visible" }); 
        modalBG.fadeIn(options.animationspeed/2); 
        modal.delay(options.animationspeed/2).animate({ top: $(document).scrollTop() + topMeasure + "px",opacity: 1},options.animationspeed, unlockModal()) 
       } 
       if (options.animation == "fade") { 
        modal.css({ opacity: 0, visibility: "visible", top: $(document).scrollTop() + topMeasure }); 
        modalBG.fadeIn(options.animationspeed/2); 
        modal.delay(options.animationspeed/2).animate({ opacity: 1 }, options.animationspeed, unlockModal()) 
       } 
       if (options.animation == "none") { 
        modal.css({ visibility: "visible", top: $(document).scrollTop() + topMeasure }); 
        modalBG.css({ display: "block" }); 
        unlockModal() 
       } 
      } modal.unbind("reveal:open") 
     }); 
      modal.bind("reveal:close", function() { 
      if (!locked) { 
       lockModal(); 
       if (options.animation == "fadeAndPop") { 
        modalBG.delay(options.animationspeed).fadeOut(options.animationspeed); 
        modal.animate({ top: $(document).scrollTop() - topOffset + "px", opacity: 0 }, options.animationspeed/2, function() { 
         modal.css({ top: topMeasure, opacity: 1, visibility: "hidden" }); 
         unlockModal() 
        }) 
       } 
       if (options.animation == "fade") { 
        modalBG.delay(options.animationspeed).fadeOut(options.animationspeed); 
        modal.animate({ opacity: 0 }, options.animationspeed, function() { modal.css({ opacity: 1, visibility: "hidden", top: topMeasure }); unlockModal() }) 
       } 
       if (options.animation == "none") { 
        modal.css({ visibility: "hidden", top: topMeasure }); 
        modalBG.css({ display: "none" }) 
       } 
      } modal.unbind("reveal:close") 
     }); 
     modal.trigger("reveal:open"); 
     var closeButton = $("." + options.dismissmodalclass).bind("click.modalEvent", function() { modal.trigger("reveal:close") }); 
     if (options.closeonbackgroundclick) { 
      modalBG.css({ cursor: "pointer" }); 
      modalBG.bind("click.modalEvent", function() { modal.trigger("reveal:close") }) 
     } 
     $("body").keyup(function (e) { 
     if(e.which===27){modal.trigger("reveal:close")}}); 
     function unlockModal(){locked=false}function lockModal(){locked=true}})}})(jQuery); 

回答

0

的等效選擇器$( 「:按鈕」)。使用有效的CSS是$( 「按鈕,輸入[類型= '按鈕']」)

-from jquery.com

您是否使用了<input type="submit">標籤?如果是這樣,它將不會被按鈕選擇器拾取。

試試這個:

$("button, input[type='button'], input[type='submit']") 
    .live("click", function (e) { } 

只是一個想法,也許你不使用,雖然提交標籤。

+0

感謝您的幫助和快速回復 – Princess

相關問題