2010-07-23 27 views
12

Tôi có một cửa sổ bật lên đơn giản (không phải là khung nội tuyến) nơi người dùng có thể gửi thư cho nhau. Có một nút gửi để gửi thông tin và nút hủy sẽ đóng lớp phủ.Đóng hộp màu

Tôi gặp một số vấn đề khi nút đóng hoạt động.

Mã này trông như thế này:

<asp:Button runat="server" ID="btnCancel" Text="Cancel" /> 

<script type="text/javascript"> 
    jQuery(document).ready(function() { 
     jQuery("#<%= btnCancel.ClientID %>").click(function() { 
      jQuery.colorbox.close(); return false; 
     }); 
    }); 
</script> 

Tôi đã thử với cả hai parent.jQuery.colorbox.close(), jQuery.fn.colorbox.close() nhưng không thành công.

Trả lời

1

tôi phát hiện ra rằng tôi đã thêm jQuery và hộp thuốc vẽ gấp đôi, vì nó đã được nạp cả trong khung và trên gọi trang hộp thuốc vẽ.

Nó hoạt động sau khi tôi xóa jQuery và Colorbox khỏi trang lớp phủ, vì vậy nó chỉ được đưa vào.

Tôi đã sử dụng ý tưởng 'sushil bharwani' và thực hiện sự kiện đóng.

+4

bạn nên chấp nhận câu trả lời của sushil bharwani sau đó. –

+0

Có, chấp nhận câu trả lời của @sushil bharwani. Họ là những người đưa vào một số công việc và cấp cho bạn câu trả lời. –

29

Hộp màu của bạn có nút đóng ở trên cùng không. [gần]. Trong ứng dụng của tôi khi tôi muốn giới thiệu một nút hủy bỏ để đóng cửa sổ hộp màu từ một liên kết khác hơn là đã được cung cấp bởi hộp màu.

Tôi thực hiện một giải pháp thay thế.

jQuery('#cboxClose').click(); 

điều này sẽ nhấp vào nút đóng mặc định và cuối cùng sẽ đóng hộp màu.

+0

Tôi có một hộp đóng ở dưới cùng với id 'cboxClose', và tôi thích ý tưởng nhưng nó không hoạt động. – Dofs

+0

bạn có thể cho tôi biết chính xác bạn đã làm gì không. Tôi đã đóng hộp màu này từ khá lâu rồi. Và đã sử dụng nó một cách rộng rãi, bạn có thể hiển thị một số mã. –

+1

Tôi đã thay thế 'jQuery.colorbox.close();' với 'jQuery (' # cboxClose '). click();' – Dofs

0

Cậu cố gắng sử dụng

$.fn.colorbox.close(); 

thay vì

jQuery.colorbox.close(); 

?

Có lẽ, bạn đã làm điều này:

$("#cboxClose").click(function(){ 
     $.fn.colorbox.close();}); 

Bạn không phải có vấn đề về đóng hộp thuốc vẽ. Trên thực tế, tôi cũng có một hộp màu trong ứng dụng có nút hủy và nút đóng trông giống như hình ảnh. Không có vấn đề gì cả.

+0

Có, và nó không hoạt động. – Dofs

13

Bạn có thể sử dụng:

$(window).colorbox.close(); 
+0

Nó không hoạt động. – Dofs

+0

làm việc cho tôi may mắn –

+1

Thậm chí ngắn hơn: '$(). Colorbox.close();'. – Alex

0

Tôi nghĩ bạn thiếu hoặc nhầm lẫn điều nhỏ trong mã của mình. Nếu không phương pháp đóng sẽ hoạt động như mong đợi. Trước tiên bạn có kiểm tra xem nút của bạn có nhấp nháy hay không? Nếu lửa, bạn có bất kỳ lỗi JS nào không?

7

Vui lòng thử điều này.

 <script type="text/javascript" charset="utf-8"> 
    $(document).ready(function() { 
     /* Automatically resize to content */ 
     var y = $(document.body).height(); 
     var x = $(document).width(); 
     parent.$.colorbox.resize({innerWidth:x, innerHeight:y}); 

     $("#button_cancel").click(function() { 
      parent.$.colorbox.close(); 
      return false; 
     }) 
    }); 

Đối với nút trên trang iframe html của bạn.

<button id="button_cancel" type="button">cancel</button> 
1
$(".selected_color").live('click',function(){ 

    $(window).colorbox.close(); 
}); 

Sử dụng trực tiếp sẽ làm việc

0

này có thể giúp một người nào đó .Tôi đã tạo ra một nút đóng tùy chỉnh. Nút đóng tùy chỉnh của tôi nằm ở góc trên cùng bên phải và có thể đóng cũng được. Mã của tôi:

 jQuery(document).ready(function(){ 
     jQuery('<div id="close" style="cursor: pointer; position: absolute; top: 0; right: 30px;"><img src="../img/close.png" alt="close"/></div>').appendTo('.yourparentDiv'); 

     $("#close").click(function() { 
      jQuery('#cboxClose').click(); 
     }); 
    }); 

Nhờ @sushil bharwani, tôi đang gặp sự cố khi đóng hộp màu. Nó đã giúp đỡ tôi.

Các vấn đề liên quan