2012-04-20 11 views
1

divを右クリックしてコンテキストメニューを開くにはcontextmenu.js(jQueryコンテキストメニュープラグイン)を使用しています。しかし、何とかデフォルトメニューだけが開きます。私は正確な問題を見つけることができません。divを右クリックするとコンテキストメニューが開きません

デバッグでは、右クリックするとコンテキストメニューがdivに関連付けられていることが示されています。しかしdivを右クリックすると、デフォルトメニューが開きます。

私は非常に限られた情報を提供していることを知っていますが、どんな提案や助けも受け入れられるでしょう。

ありがとうございました。

$(document).ready(function() { 
    $('#item-1').contextMenu({ 
    menue: 'menueName' 
    }, 
    function(action, el, pos) { 
    // do sth when the menu was clicked 
    alert('Action ' + action + ' was clicked on ' + $(el).attr('id')); 
    }); 
}); 

itselfeが定義されなければならないmenueを:

+0

あなたはいくつかの情報を提供できますか?プラグインなどを設定するためのコードは何ですか?クリックイベントでpreventDefault()を呼び出そうとしましたか?プラグインはブラウザ間で互換性がありますか?これがあなたを助けてくれます:http://www.abeautifulsite.net/blog/2008/09/jquery-context-menu-plugin/#demo – tbraun89

+0

ありがとうございます。はい、私は同じプラグインを使用しています。 – Infotechie

+0

ありがとうございます。私はpreventDefault()を呼び出していませんが、同じプラグインを使用しています。 preventDefaultを使用する必要がありますか?はいの場合は、私を案内してください。 – Infotechie

答えて

0

は、私はそれがあなたのjavascriptは次のようになります。

<div id="item-1">This should have a menu</div> 

次に、メニューを取得する必要がありますあなたの要素である場合は、このような何かを行うべきだと思います

<ul id="#menueName" class="contextMenu"> 
    <li class="action1"> 
    <a href="#action1>Action 1</a> 
    </li> 
    <li class="action1"> 
    <a href="#action2>Action 2</a> 
    </li> 
</ul> 

また、jQuery 1.3以上がページに含まれていることを確認してくださいe。

+0

同じ方法で行います。しかし、$(document).ready(function()の代わりに$(function()を使用してください)実際にはダミーのアプリケーションでうまくいきますが、プロジェクトに埋め込むとうまくいきません。 – Infotechie

+0

あなたは '$(function(){...});'を削除しようとすることができますか?これはあなたのために働くかもしれませんか?あなたのアプリケーションのpageloadで。 – tbraun89

0

私は同じ問題を抱えていました。 jquery.contextMenu.jsの先頭にあるif(jQuery)(function() {(function($, undefined){に置き換えると、問題が解決されました。私はそれが助けて欲しい

関連する問題