我知道stopPropagation()阻止事件到达包装当前元素的DOM元素。 它是否也阻止将此事件传递给同一元素上的其他处理程序? 举个例子,我在一个元素上定义了自己的点击处理程序。 另外我还使用这个jQuery Context Menu插件来处理mousedown+(testbutton == 2)+mouseup并在鼠标(up | down)之后使用stopPropagation() ),这似乎禁用了我的点击处理程序。 如果我在插件源中注释这两个调用,我的点击处理程序和上下文菜单正常工作。 这似乎表明stopPropagation()和stopImmediatePropgation()做同样的事情。 我的理解是否正确?
我目前正在构建一个菜单栏,其中包含图标,这些图标在hover时显示上下文子菜单。 基本上,当鼠标hover在图标上时会出现一个弹出菜单/工具提示(包含更多选项),但图标本身也应该是可点击的。 到目前为止,我为每个菜单项使用以下HTML构造和jQuery: **insert profile menu options** **insert search menu options** 和 $(“.menu-item”).hover(function() { $(this).find(“div”).fadeIn(“fast”).show(); //add ‘show()” for IE $(this).mouseleave(function () { //hide tooltip when the mouse moves off of the element $(this).find(“div”).hide(); }); }); 我想要做的是将HTML更改为如下所示(因此我可以将onClick链接应用于“profiles”div): **insert menu options** 但是,我不知道如何修改jQuery以找到匹配的div在hover时显示。 相关的工具提示/弹出菜单div将始终为xxxx-tip(其中xxx是父div的名称)。 作为一个例子,我想它会看起来像这样(记住我对jQuery知之甚少,所以我很清楚这看起来很愚蠢): $(“.menu-item”).hover(function() { $.find(“div”).attr(‘id’+”-tip”).fadeIn(“fast”).show(); //add ‘show()” for IE $(this).mouseleave(function () { //hide tooltip when […]
我根据DOM元素中的数据使用右键单击上下文菜单。 它的Javascript代码是:: $(function(){ $(‘.context-menu-one’).on(‘contextmenu’, function(e){ var data = $(“#strngTitle”).text(); $.contextMenu({ selector: ‘.context-menu-one’, items: { data: { name: data, callback: function (key, opt) { alert(“Clicked on ” + data); } } } }); }); }); 哪个工作正常。 但我想显示上下文菜单项超过1次所以我试过:: $(‘.context-menu-one’).on(‘contextmenu’, function(e){ var data = $(“#strngTitle”).text(); $.contextMenu({ selector: ‘.context-menu-one’, items: for (var i = 0; i < 2; i++) […]
我正在使用这个contextMenu模板: http : //medialize.github.com/jQuery-contextMenu/index.html 我想改变菜单出现的地方,我的意思是我希望它始终从我点击到底部的位置出现,因为有时候列表包含很多项目,当它从点击向上点亮时出现大部分清单消失。 我试着查看文档,我遇到了$.ui.position但我不知道是不是这样,实际上我并不理解它。 提前致谢。
我正在使用我在这里找到的一些function: http : //www.trendskitchens.co.nz/jquery/contextmenu/ 它让我开始制作一个漂亮的上下文菜单。 我的目的是让这个上下文菜单右键或左键单击“Pop”。 但我可能并不总是希望绑定左键单击,所以我需要能够始终进行右键单击,并且当我需要时,使用一些代码使左键单击也可以。 首先,要测试你需要jQuery用于演示,我使用的是1.8.2 这是插件的来源: /* * ContextMenu – jQuery plugin for right-click context menus * * Author: Chris Domigan * Contributors: Dan G. Switzer, II * Parts of this plugin are inspired by Joern Zaefferer’s Tooltip plugin * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * […]
我正在为我的网格行创建一个上下文菜单。 当菜单打开时,它的位置与点击位置的右侧对齐。 我的页面是rtl对齐的,所以我希望contextmenu也是rtl – 所以它应该打开到点击的左边, 如何将其更改为左对齐? 提前致谢。
我有一个菜单在hover时打开。 但是在右键单击时,菜单会在上下文菜单打开时消失。 但我无法弄清楚为什么。 我需要在上下文菜单/右键单击的同时打开hover菜单。 jQuery代码(版本jquery-1.11.2.min.js): jQuery(document).on(‘mouseover’,’#main_menu’,function() { jQuery(‘#main_menu_inner’).show(); }); jQuery(document).on(‘mouseleave’,’#main_menu’,function() { jQuery(‘#main_menu_inner’).hide(); }); HTML: Link Link Link
我正在使用Chris Domigan的jQuery上下文菜单插件来应用上下文菜单。 这是它的工作原理: $(‘#contacts tbody tr’).contextMenu(‘myMenu1’, { bindings: { ‘copy’: function(t) { alert(‘Trigger was ‘+t.id+’\nAction was Copy’); }, ‘delete’: function(t) { alert(‘Trigger was ‘+t.id+’\nAction was Delete’); } }, }); 现在我希望这个上下文菜单出现在左键单击而不是右键单击。 我在doc中找不到一个选项。 任何想法如何做到这一点? 我必须修改源吗?
我有多个DOM元素和上下文菜单。 当一个元素是另一个元素的子元素并且我调用内部子元素的上下文菜单时,我也会看到父元素的上下文菜单。 这是使用jquery-ui.contextmenu插件实现的。 有没有办法配置插件以防止显示父菜单或我将不得不手动处理所有点击事件并过滤它们所以我只显示我想要的菜单? 以下是我的代码: HTML: Outer Child Inner Child CSS: .outer-child { position: absolute; top: 0px; left: 0px; width: 200px; height: 200px; border: 1px solid red; background: green; } .inner-child { position: absolute; top: 50px; left: 50px; width: 100px; height: 100px; border: 1px solid blue; background: yellow; } JavaScript的: // create context menu on […]
//这个有效 $(document).on(’contextmenu’,function(){ 返回虚假; }); //没有上面的代码,这也有效 $(document).on(’contextmenu’,’#special’,function(){ 警报(’#special right clicked’); }); 我如何组合这两段代码,以便我可以禁用整个文档的上下文菜单,除了id为#special的文件。