사용자가 다른 아코디언 요소에 물건을 입력 할 때까지 아코디언 요소가 비활성화되어야합니다. 나는 HTML을위한이 설정을 가지고있다 :html 클래스를 제거해도 jQuery removeClass를 사용하여 제거 된 클래스 기능이 분리되지 않습니다.
...
<ul>
<li><a id="subject_link" href="#subject"> Paciente </a></li>
<li><a id="general_link" href="#general" class="disabled">Información General</a></li>
</ul>
...
다른 요소들이 많지만 이것으로 충분하다고 생각한다.
일반 링크에는 사용자가 HTML의 일부로 먼저 이동하지 못하도록하는 "사용 안 함"이 있습니다. 이것은 현재 다음과 같이 수행되고 있습니다 :
$(".disabled").click(function(){
$("#subject_link").click()// Scroll screen to target element
alert("You need to enter subject ID first");
});
위의 코드는 사용자에게 ID를 입력하도록 알려주고 해당 아코디언 요소에 반환합니다. (마크 업 "클래스 = 비활성화"더 이상 나타나지 않습니다 그와 스타일 모두 제안)을 상기 성공적으로 클래스를 제거
if($("#tab0").valid()){
$.post(url , values);
// alert("Data Loaded: " + str);
$("#general_link").removeClass("disabled");
$("#general_link").click();
하지만 클릭 : 사용자가 주제 ID를 입력 할 때 다음, I 클래스 제거를 트리거 now not-disabled 요소는 여전히 ".disabled"(사용자에게 누락 된 ID를 알리고 해당 요소로 이동 함)에 대한 기능을 트리거합니다.
내가 무엇을 놓치고 있습니까 ???
$("#general_link.disabled").off("click");
$("#general_link").removeClass("disabled");
'.disabled'는 CSS 참조 일뿐입니다 그 요소를 제거하면 해당 요소에 대한'click' 이벤트가 제거되지 않는다는 것을 의미하지는 않습니다. 아래는 적절한 방법입니다 – Roljhon