문제

더 나은 방법을 알고 있다면 알려주십시오. 바로 나는 버튼, 차트 및 테이블이 많은 페이지가 있습니다. 나는 이벤트 추천 중지에 대해 읽었으며 그것이 내가 사용할 것입니다. Cerain 요소에 대한 도움을 활성화하고 싶습니다. Help Enabled Divs에서 커서를 변경하는 확인란이 있습니다. 내가하고 싶은 것은 정상적인 클릭 동작 전에 도움말 기능을 선방하는 것입니다.

기본적으로 이것은 이와 같습니다.

<input type="button" value="Click me" onclick="alert ('hello')" />

내가 원하는 것은 확인란을 클릭하면 CSS 클래스를 추가 한 다음 (이미 완료) 일반 클릭 전에 클릭 핸들러를 추가한다는 것입니다. 요소가 클릭되면 HelpFunction이 실행되고 기본 버튼 클릭 핸들러가 발생하지 않습니다. 도움말 확인란이 확인되지 않으면 도움말 기능을 제거하고 싶습니다. 나는 각 요소에 대해 이것을 강화하고 헬퍼 기능을 확인하여 확인란을 확인했는지 확인할 수 있다는 것을 알고 있습니다. 그러나 나는 더 일반적인 방법을 선호합니다.

감사

남자

도움이 되었습니까?

해결책

        $(":button").each(function() {

            // your button
            var btn = $(this); 

            // original click handler
            var clickhandler = btn.attr("onclick");
            btn.attr("onclick", "return false;");

            // new click handler
            btn.click(function() {

                if ($("#chkbox").attr("checked") == true) {

                    // TODO: show your help
                    // TODO: catch event

                }
                else {

                    clickhandler();

                }
            });
        });

다른 팁

이 경우 BIND/UNBIND와 함께 놀고 싶다고 생각합니다. http://docs.jquery.com/events/unbind#typefn

확인란을 선택할 때 버튼의 새로운 클릭 이벤트를 바인딩하고 나중에 묶을 수 있습니다.

아마도 event.preventDefault와 함께 일해야 할 것입니다.http://docs.jquery.com/events/jquery.event) 원하지 않는 경우 기본 클릭 동작을 억제하려면

당신은 다음과 같은 것을 사용할 것입니다.

$("a").bind("click", function(event){
 if ($("#helpcheckbox").attr('checked')
 {
  event.preventDefault();
  // do something
 }
});

더 이상 코드가 없으면 더 정확한 것이 어렵습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top