初めてのポスターですが、常にこのサイトを例として使用してください。私の小さな問題はこれです(調査しましたが、問題の解決策が見つかりません)...
50 以上の名前のテキスト リストと、毎日 1 つの項目 (つまり、50 + x 7 のマトリックス) があり、毎日のテキスト (1 日あたりの div) を右クリックして、メニューを表示できるようにしたい1日あたりのそのアイテムに特に関連しています。これは大したことではありませんが、すべてのアイテムを個別に識別し、JS で DivID を使用して別の関数を呼び出す必要があるため、これは大したことになります。他の jquery メニュー オプションを調べましたが、動的に名前を正しく取得する方法がわかりませんでした。
私が抱えている問題は、メニューを作成してアイテム ID を取得することではありませんが、右クリックした後に ContextMenu が表示されなくなることです。
ページの他の場所に右クリック メニューを表示したいのですが、これらの DIV 要素ではなく、作成中のメニューだけです。
次のコードは簡略化されています...
これは私が使用しているJSです:
function go(e,idname)
{
var rightclick;
e = e || window.event;
if (e.which) rightclick = (e.which == 3);
else if (e.button) rightclick = (e.button == 2);
var a = idname.id;
a = (a.substring(11));
ShowContent('ToggleValueFloat'); // Display the DIV
$(document).ready(function()
{
$('#ToggleValueFloat').html('MY MENU TEXT' + <a href="Javascript:ToggleDay(' + a + ');">EXAMPLE</a>);
return false;
});
return false;
}
function ShowContent(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
dd.style.display = "block";
}
これは、例に使用している PHP です。
echo '<a id="togglePopup' . (int)$arrayEId[$allEntries] . '" onmousedown="go(event,this); return false;">example</a>';
これは、私が表示するために使用している DIV です。
<div id="ToggleValueFloat" style="display:none; position:absolute; border-style: solid; background-color: white; padding: 5px;"></div>
コンテキストメニューが表示されないように毎回falseを返そうとしていますが、機能しません。ページで右クリックを完全に無効にすることもできますが、これはこれまで以上に非生産的であることがわかります。
どんな考え/助けも素晴らしいでしょう! 私はオプションを受け入れます。ありがとう、スティーブ