jQueryのクリックイベントが失敗した場合の対処方法

藏色散人
リリース: 2020-11-20 11:48:26
オリジナル
1978 人が閲覧しました

JQUERY1.7 以降はライブが推奨されなくなったため、jquery のクリック イベントが失敗します。解決策は、コードを "$("#a").on('click',function() {for) に変更することです。 (var i=0 ; i

jQueryのクリックイベントが失敗した場合の対処方法

## 推奨: 「jquery ビデオ チュートリアル #」

最初に完全なコードを載せます

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>测试</title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
<style type="text/css">
 #a{
     width:50px;
     height:50px;
     background: rgb(54, 54, 54);
 }
 #b{
     width:50px;
     height:50px;
     background: rgb(144, 243, 182);
 }
 #d{
     width:50px;
     height:50px;
     background: rgb(114, 116, 231);
 }
 li{
     list-style: none;
 }
.display{display:block;}
.hide{display:none;}
 </style>
</head>
<body>
    <p id="a"></p>
    <p id="b"></p>
    <p id="d"></p>
    <p id="c">
        <ul>
            <li id="c1">11111111</li>
            <li id="c2">22222222</li>
            <li id="c3">33333333</li>
        </ul>
    </p>
<script type="text/javascript">
    var link = $(&#39;ul li&#39;);
    var leng = c.querySelectorAll("li").length;
    $("#a").on(&#39;click&#39;,function(){
        for(var i=0 ; i< leng;i++){
            link[i].className = &#39;display&#39;
        }
    })
    $("#b").on(&#39;click&#39;,function(){
        for(var i=0 ; i< leng;i++){
            if(link[i].id !== &#39;c2&#39;){
                link[i].className = &#39;hide&#39;
            }else{
                link[i].className = &#39;display&#39;
            }
        }
    })
    $("#d").on(&#39;click&#39;,function(){
        for(var i=0 ; i< leng;i++){
            if(link[i].id !== &#39;c1&#39;){
                link[i].className = &#39;hide&#39;
            }else{
                link[i].className = &#39;display&#39;
            }
        }
    })   
</script>
</body>
</html>
ログイン後にコピー

当初、クリック イベントはこのように記述されていましたが、クリックが無効であることが判明しました。動的要素と属性へのイベントのバインディングをサポートするものには、live と on があり、その中で live はJQUERY 1.7 以降は推奨されません。現在は主に on を使用しています。on を使用する場合は、on にも注意する必要があります。on より前の要素は、ページがロードされるときに dom にも存在する必要があります。動的要素またはスタイルは 2 番目の要素に配置できます。

  $(&#39;#a&#39;).click = function(){
      for(var i=0 ; i< leng;i++){
           link[i].className = &#39;display&#39;
      }
  }
ログイン後にコピー

後で、コードを次のコードに変更するだけです。

 $("#a").on(&#39;click&#39;,function(){
        for(var i=0 ; i< leng;i++){
            link[i].className = &#39;display&#39;
        }
 })
ログイン後にコピー

以上がjQueryのクリックイベントが失敗した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート