2014-09-26 4 views
1

내 웹 사이트에 2 개의 div가 있습니다. 하나는 clickDisabled 속성이고 다른 하나는 Out 속성을 사용하지 않습니다. div를 클릭하려고하면 해당 속성에 clickDisabled가있는 경우에만 경고가 표시됩니다. 하지만 제 경우에는 두 번의 클릭으로 경고가 표시됩니다. clickDisabled 속성을 사용하는 하나의 div에만 경고 메시지 표시를 제한하려면 어떻게해야합니까?div를 클릭하면 클래스 이름이있는 모든 요소가 표시됩니다.

<div> 
     <img title="You cannot edit." class="editMe" src="/Content/Images/edit.png" clickdisabled="disable"> 
</div> 

    <div> 
     <img title="You cannot edit." class="editMe" src="/Content/Images/edit.png"> 
    </div> 


if ($('.editMe').attr('clickdisabled') == 'disable') { 
     alert('warning'); 
     return false; 
    } 
+1

사용'clickdisabled'으로 시도 할 수 있습니다 코드입니다 – Newtt

답변

2

사용 $(this) 대신 $('.editMe') 아래의 문은 항상 클래스 editMe이있는 모든 요소에 대해 확인하기 때문에

if ($('.editMe').attr('clickdisabled') == 'disable') 

true를 반환하는 것입니다 때문입니다. 따라서 두 번째 요소를 클릭하더라도 첫 번째 요소를 찾으면 true를 반환합니다. 여기

당신이 JQuery와의 대신 clickDisabled``의

$('.editMe').click(function() { 
    if ($(this).attr('clickdisabled') == 'disable') { 
     alert('warning'); 
     return false; 
    } 
}); 

Js Fiddle Demo

관련 문제