[英]triggering a click event on a selector
I'm trying to get a click event to go off manual for a plug-in that uses a selector. 我正在尝试获取单击事件以手动关闭使用选择器的插件。
plug-in set up. 插件设置。
$( function ()
{
$.contextMenu( {
selector: '.context-menu-one',
callback: function ( key, options )
{
var m = "clicked: " + key;
window.console && console.log( m ) || alert( m );
},
items: {
"edit": { name: "Edit", icon: "edit" },
"cut": { name: "Cut", icon: "cut" },
"copy": { name: "Copy", icon: "copy" },
"paste": { name: "Paste", icon: "paste" },
"delete": { name: "Delete", icon: "delete" },
"sep1": "---------",
"quit": { name: "Quit", icon: "quit" }
}
} );
$( '.context-menu-one' ).on( 'click', function ( e )
{
alert( 'clicked', this );
} )
} );
I tried two ways to fire but I'm not able to make it work. 我尝试了两种点火方法,但无法使其正常工作。 $( '.context-menu-one' ).trigger( 'click' ); $('.context-menu-one').trigger('click'); or $( '.context-menu-one' ).click(); 或$('.context-menu-one').click();
Is there a special way to fire on a selector. 是否有在选择器上触发的特殊方法。 I figured this was explained somewhere but my searching has reached its end. 我以为这是在某个地方解释的,但是我的搜索已经结束。
--------- update adding more of the surrounding code ----------- ---------更新添加更多周围的代码-----------
//local functions
$( function ()
{//override right click.
$( this ).bind( "contextmenu", function ( e )
{
alert( 1 );// users right clicked
var overRide = true;
//set up the right click menu
$( function ()
{
$.contextMenu( {
selector: '.context-menu-one',
callback: function ( key, options )
{
var m = "clicked: " + key;
window.console && console.log( m ) || alert( m );
},
items: {
"edit": { name: "Edit", icon: "edit" },
"cut": { name: "Cut", icon: "cut" },
"copy": { name: "Copy", icon: "copy" },
"paste": { name: "Paste", icon: "paste" },
"delete": { name: "Delete", icon: "delete" },
"sep1": "---------",
"quit": { name: "Quit", icon: "quit" }
}
} );
$( '.context-menu-one' ).on( 'click', function ( e )
{
alert( 'clicked', this );
} )
} );
//bring up the menu
$( '.context-menu-one' ).trigger( {
type: 'mousedown',
which: 1
} );
if (overRide) e.preventDefault();
} );
} );
My intent here is simply to trigger a right click so that the menu comes up manually not based on an event. 我的目的仅仅是触发右键单击,这样菜单就不会根据事件手动出现。
Based on documentation taken from documentation demo . 基于从文档演示中获取的文档。 Following example waits for document to load and after a delay of 1 second programatically opens context menu: 以下示例等待文档加载,并在延迟1秒后以编程方式打开上下文菜单:
<body>
<div class="dummyDiv box menu-1"/>
</body>
<script>
$(function(){
$.contextMenu({
selector: '.dummyDiv',
trigger: 'none',
items: {
"edit": {name: "Edit", icon: "edit"},
"cut": {name: "Cut", icon: "cut"},
"copy": {name: "Copy", icon: "copy"},
"paste": {name: "Paste", icon: "paste"},
"delete": {name: "Delete", icon: "delete"},
"sep1": "---------",
"quit": {name: "Quit", icon: "quit"}
}
});
setTimeout(function(){
$('.dummyDiv').contextMenu();
}, 1000);
});
</script>
Try triggering it by: 尝试通过以下方式触发它:
$('.context-menu-one').trigger({
type: 'mousedown',
which: 1
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.