2014-09-29 2 views
1

jquery nestable을 사용하고 있습니다. 모두는 한 가지를 제외하고 잘 작동 :Jquery 중첩 플러그인 항목 클릭 이벤트가 작동하지 않습니다.

<li class="dd-item" data-id="1" onclick="doWork();"> 
     <div class="dd-handle">Item 1</div> 
    </li> 

내 코드 자바 스크립트 :

<script type="text/javascript"> 
    function doWork() { 
    alert('clicked'); 
    } 
</script> 

을하지만 그것은 작동하지 않습니다 나는 아래와 같이 각 항목에 마우스 클릭 이벤트를 추가 할. 구문 오류가 없습니다. 플러그인이 비활성화되어 있거나 뭔가 잘못 설정 한 것 같습니다. 나는이 문제를 가지고 내가 해결

$(document).on("click",".dd-item",function(){ 
    alert("clicked"); 
}) 

답변

0

은 HTML을 DOM 부하가 너무 delegated events 사용 후 플러그인에 의해 동적으로 생성 될 수 있습니다

<li class="dd-item" data-id="1"> 
     <div class="dd-handle">Item 1</div> 
    </li> 

및 JQuery와의 그것 :

var clickData = {}; 
$(document).on('mousedown', '.dd-dragel > li', function(e){ 
    clickData.timer = (new Date()).getTime(); 
    clickData.x = e.pageX; 
    clickData.y = e.pageY; 
}).on('mouseup', '.dd-list .dd-item', function(e){ 
    let n = (new Date()).getTime() - clickData.timer; 
    if(clickData.x === e.pageX && clickData.y === e.pageY && n < 200){ 
     console.log('clicked'); 
    } 
}); 
+0

고마워,하지만 여전히 작동하지 않습니다. –

+0

jquery가 포함되어 있는지 확인하고'document.ready'에 포장하십시오 –

+0

네, it.my 코드는 일부 html 요소를 고수하고 그 위의 이벤트를 제외하고는 잘 작동하는 다른 함수를 포함합니다. 왜 그런지는 몰라요. 파이어 버그 오류가 없습니다. –

0

: 당신이 플러그인을 사용하는 경우