2012-08-23 4 views
0

컨텍스트 메뉴를 지정하기위한 플러그인이 개발되었습니다. HTML 코드 : 플러그인플러그인에서 이벤트 지정

$('#list1').cnxtmenu(options); 
$('.item').cnxtmenu(options); 

내 문제가 여러 번 실행 코드를 플러그인의

$(function(){ 
$.fn.cnxtmenu=function(options){ 
    this.bind('contextmenu',function(){ 
    //To display menu 
    }); 
    } 
}); 

사용

<ul id='list1'> 
<li class='item'>Items</li> 
<li class='item'>Items</li> 
<li class='item'>Items</li> 
    ... 
</ul> 

jQuery 플러그인 코드입니다.

+1

어떻게'contextmenu' 이벤트를 트리거합니까? – davids

+0

on mouse rightclick – kirankumar

+0

어디에서 코드를 표시 할 수 있습니까? – davids

답변

1

첫 번째 추측은 핸들러를 여러 요소와 해당 컨테이너에 연결하면 이벤트가 부풀어 오르고 처리기가 두 번 실행된다는 것입니다. 그래서, 당신의 bind,이 시도 : 당신이 말했듯이, 내 첫번째 추측이다

// Remember to pass 'ev' to the handler 
this.bind('contextmenu',function(ev){ 
    ev.stopPropagation(); 
    //To display menu 
}); 

. 더 정확한 답변을 제공하기 위해 contextmenu 이벤트를 트리거하는 코드가 필요합니다. 코드가 실행되고 있다면 어딘가에 있어야합니다 $(something).trigger('contextmenu')

관련 문제