1. ホーム
  2. jquery

[解決済み] jQueryでリンクを無効化する

2022-02-01 17:26:19

質問

Jqueryでリンクを無効にする方法をご存知の方はいらっしゃいますか? return false; ?

具体的には、あるアイテムのリンクを無効にし、jqueryを使用してそのリンクをクリックすると何らかのトリガーがかかり、その後そのリンクを再び有効にして、再度クリックされたときにデフォルトとして機能するようにすることです。

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

アップデイト これがそのコードです。の後に必要なのは .expanded クラスが適用された場合、無効化されたリンクを再び有効にすることです。

$('ul li').click(function(e) {
    e.preventDefault();
    $('ul').addClass('expanded');
    $('ul.expanded').fadeIn(300);
    //return false;
});

解決方法は?

$('#myLink').click(function(e) {
    e.preventDefault();
    //do other stuff when a click happens
});

これにより、ハイパーリンクのデフォルトの動作である、指定された href にアクセスすることを防ぐことができます。

jQueryから チュートリアル :

クリックやその他のほとんどのイベントについては は、デフォルトの動作を防ぐことができます。 jquery.comへのリンクはこちらです。 - イベントハンドラ内で event.preventDefault() を呼び出すことで、以下のようになります。

もし、あなたが preventDefault() を使用すると、特定の条件 (たとえば何かが隠されているなど) が満たされたときのみ、ul の可視性をテストすることができます。 拡張 . もし表示されていれば(つまり非表示でなければ)、if文が入力されないため、デフォルトの動作が妨げられることはなく、リンクは通常通り発射されるはずです。

$('ul li').click(function(e) {
    if($('ul.expanded').is(':hidden')) {
        e.preventDefault();
        $('ul').addClass('expanded');
        $('ul.expanded').fadeIn(300);
    } 
});