jQuery上下文菜单等

时间:2011-03-22 16:35:43

标签: jquery

好的..所以我正在做一些网格工作,我有几个功能正在使用。 一切正常,除非我单击上下文菜单时它不会触发警报。 仔细观察文档后。这里应使用“#Selector”而不是文档......

// Show menu when #myDiv is clicked
            jQuery(document).contextMenu({
                menu: 'myMenu'
            },
                function(action, el, pos){      
                      alert('Action: ' + action + '\n\n');
            });

当我改变

            jQuery(document).contextMenu({

// Show menu when #myDiv is clicked
            jQuery("#grid").contextMenu({

这将触发所选的上下文警报。但是现在当我生成一个可拖动的容器

jQuery("#grid").append("<div id='container"+container+"' class='container' style='border: 2px solid black;width:100px;height:100px;position: absolute !important;left:100px;top:"+Math.floor(Math.random()*601)+"px'><p style='background-color:lightblue;margin:0px'>------<span style='background-color:white'>"+container+"</span>------</p><br/>a</div>");   
jQuery('#debug_container').html('Container Added'); 
jQuery('.container').draggable({handle: 'p',grid: [ 8,8 ],
                           containment: "#grid",
                           drag: function() {
                                    var currentID = jQuery(this).attr('id').substr(9, 1);        
                                    setContainer(currentID);                               
                                }                   
                          });       

它不会让它继续下去...... 原件将允许下降,但不会提醒。 我想要两个..

一如既往,任何帮助都非常感激。

1 个答案:

答案 0 :(得分:1)

经过一些调试后,我发现问题的根源来自第37行的jquery.contextMenu.js

jQuery(this).mousedown( function(e) {
            var evt = e;
            evt.stopPropagation();
            jQuery(this).mouseup( function(e) {

//这样做解决了我的问题==&gt; // e.stopPropagation();

  var srcElement = jQuery(this);
                jQuery(this).unbind('mouseup');
                if( evt.button == 2 ) {
                    // Hide context menus that may be showing
                    jQuery(".contextMenu").hide();
                    // Get this context menu
                    var menu = jQuery('#' + o.menu);