1

次のように、ページ(.phtmlファイル)に4つのリンクがあります

<ul id="fileMenu" class="contextMenu">
    <li class="add"><a id ="addbtn" href="#add" style="display:none;">Add</a></li>
    <li class="download"><a href="#download">Download</a></li>
    <li class="rename"><a href="#rename">Rename</a></li>
    <li class="del"><a href="#delete">Delete</a></li>
    <li class="copypath"><a href="#copypath">Copypath</a></li>
</ul>

リンクの追加、名前変更、削除を無効にしたい UI から無効にするだけです。

ユーザーはそれを見ることができますが、クリック イベントは実行されません (リンクはグレー表示されます)。

利用した

  1. disable="disabled"

  2. display =none;

しかし、それらは目的を果たしていません。

これがうまくいく他の方法はありますか?

4

6 に答える 6

0

これでも目的を果たしました

$("#fileMenu").disableContextMenuItems('#add');
  $("#fileMenu").disableContextMenuItems('#rename');
  $("#fileMenu").disableContextMenuItems('#delete');

ul リストで contextMenu クラスを使用しているためです。

于 2014-08-06T05:10:13.140 に答える
0

この CSS を使用して、リンクを視覚的に無効にします。

.disable {
    position: relative;
}
.disable:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
}
.disable a {
    color: gray;
    cursor: default;
}

次に、リンクを無効にするために、disable対応するクラスを配置しliます。

<li class="download disable"><a href="#download">Download</a></li>

それがすることは、基本的に透明な疑似要素でリンクをオーバーレイすることです:before

別の解決策としてルールを使用することもできますがpointer-events: none、IE では十分にサポートされていません。

デモ: http://jsfiddle.net/LPz2Z/1/

于 2014-08-01T10:55:02.960 に答える
0

それが最善の方法かどうかはわかりませんが、うまくいく可能性があります。

使用する場合

pointer-events: none; in your css 

または、javascript から呼び出したい場合:

elem.style.display.pointerEvents = "none";

ユーザーとの対話を無効にします。

于 2014-08-01T10:55:15.037 に答える
0

pointer-events:none; を使用します。

<a  style='pointer-events:none;background-color:#CFCFCF;color:#000' href="javascript: void(0)">Delete</a>
于 2014-08-01T10:49:30.170 に答える