2011-10-28 73 views
9

Có ai biết cách kích hoạt sự kiện khi tôi thay đổi từ tab này sang tab khác trong JQuery không?Thay đổi JQuery trong các sự kiện tab

ví dụ như:

<li><a href="#tab-1" onclick="submitForm();" onchange="myJSHere();">Tab</a></li> 
+1

Các jQuery UI Tabs Widget? Mã JavaScript của bạn không có ý nghĩa về mặt cú pháp. – pimvdb

+4

Bạn không phải là người mới ở đây, bạn nên biết để cung cấp thêm thông tin và xác định chính xác những gì bạn muốn. –

Trả lời

25

jQuery ui ???

$("#tabs").tabs({ 
    select: function(event, ui) { 
     alert("PRESSED TAB!"); 
    } 
}); 
+0

Rất vui, gọi lại này xảy ra * trước * sự kiện thay đổi tab thực tế xảy ra. Tôi đã phải làm việc xung quanh điều này bằng cách gói của tôi * thực tế * gọi lại trong một setTimeout: ( – hughes

+4

Có lẽ bạn có thể sử dụng sự kiện "kích hoạt", nó nói trong DOCS rằng nó cháy sau khi hoạt hình hoàn tất ;-) –

+1

Tôi đã thử nghiệm. chọn không hoạt động, nhưng kích hoạt công trình. –

9
$(function() { 
    $("#tabs").tabs({ activate: function(event ,ui){ 
        //console.log(event); 
        //alert( ui.newTab.index()); 
     alert(ui.newTab.attr('li',"innerHTML")[0].getElementsByTagName("a")[0].innerHTML); 
     //alert(this.text); 
       } }); 
2

làm việc cho tôi

HTML:

<div id="tabs"> 
    <ul class="nav nav-tabs"> 
     <li class="active"><a data-toggle="tab" href="#home">Home</a></li> 
     <li><a data-toggle="tab" href="#menu1">Menu 1</a></li> 
     <li><a data-toggle="tab" href="#menu2">Menu 2</a></li> 
    </ul> 

    <div class="tab-content"> 
     <div id="home" class="tab-pane fade in active"> 
      <h3>HOME</h3> 
      <p>Some content.</p> 
     </div> 
     <div id="menu1" class="tab-pane fade"> 
      <h3>Menu 1</h3> 
      <p>Some content in menu 1.</p> 
     </div> 
     <div id="menu2" class="tab-pane fade"> 
      <h3>Menu 2</h3> 
      <p>Some content in menu 2.</p> 
     </div> 
    </div> 
</div> 

Script

<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script> 
<script> 
    $("#tabs").tabs({ 
     activate: function(event, ui) { 
      alert("PRESSED TAB!"); 
     } 
    }); 
</script> 
Các vấn đề liên quan