2012-11-29 3 views
3

이 간단한 예제를 사용하여 두 번째 탭에 대한 액세스를 금지합니다. 돌아 오는 false는 정상적으로 작동하지만 먼저 어떤 탭이 선택되어야 하는지를 봐야합니다. UI 매개 변수는 객체, 경고 (UI)이지만 모든 변수 또는 함수를 사용할 수 없습니다. 물건을 무언가에 던져야합니까?JQuery 탭에서 UI 요소 액세스

<!doctype html> 
<html lang="de"> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 
    <title>tabs demo</title> 
    <link rel="stylesheet" href="css/jquery-ui.css"> 
    <script src="libraries/jquery-1.8.3.js"></script> 
    <script src="libraries/jquery-ui.js"></script> 
</head> 
<body> 

<div id="tabs" style="position:absolute;top:0px;left:0px;width:800px;height:600px"> 
    <ul> 
     <li><a href="#fragment-1"><span>Überblick</span></a></li> 
     <li><a href="#fragment-2"><span>System</span></a></li> 
    </ul> 
    <div id="fragment-1"> 
     <p>First tab is active by default:</p> 
     <pre><code>$("#tabs").tabs(); </code></pre> 
    </div> 
    <div id="fragment-2"> 
     Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh  
    Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod 
    </div> 
</div> 

<script> 

$(function() { 
    $("#tabs").tabs({ 

     beforeActivate: function(event, ui) { alert(ui.newTab.id); } 
    }); 
}); 


</script> 

</body> 
</html> 

답변

2

왜 그냥 탭을 사용 중지하지 마십시오.

비활성화 (인덱스)

탭을 사용하지 않습니다. 선택한 탭을 비활성화 할 수 없습니다. 한 번에 하나의 탭을 초과하여 을 사용하지 않으려면 비활성화 된 옵션 인 $ ("#tabs") .tabs ( "옵션", "사용 안 함", [1, 2, 3])을 설정하십시오.

http://api.jqueryui.com/tabs/#method-disable

사용자가 보라 만들기, 그는 나쁜 UI 디자인입니다 reallity에서 그가 할 수있는 a 요소를 클릭 할 수 있습니다!

+0

을 내가 액세스하기 위해 암호를 요청합니다. 코드를 단축하기 위해 그것을 죽였습니다. –

+0

그러면 비밀번호 필드를 탭에 표시하고 사용자가 느슨하게하자마자 내용이 대체됩니다. 코드가 방대한 보안 구멍이라고 보는 '소스 코드'보기) – Stefan

1

이 시도 :

$("#tabs").tabs({ 

    beforeActivate: function(event, ui) { 
     alert(ui.newTab.find("a").attr("href")); 
     return false; 
    } 
});​ 
+0

많은 감사합니다. 제대로 작동합니다. –

+0

당신은 오신 것을 환영합니다. 수락 된 답변으로 표시하고 위로 투표하십시오 :) –

+1

당신이 내 경우에 해결책으로 나를 인도했기 때문에 Upvoted : 경고 (ui.newTab.attr ('id'))); 감사! –

관련 문제