2016-07-01 25 views
0

ここにいくつかの問題があります。ここに私のコードは次のとおりです。まだ生まれていないときにコードをアクティブにする方法

    $(document).ready(function() { 
        $("#button").click(function(){ 
         alert("hello"); 
         var a = $("textarea").val(); 
         var b = $("#search").val(); 
         var c = $("textarea").length; 
         var d = $("#search").length; 
         var array = []; 
         var st = ""; 
         for(var e=0;e<c;e++) 
         { 
          for (var f=0;f<d;f++) 
          { 
           if(a[e+f] === b[f]) 
           { 
            alert(a[e+f]); 
            array.push(a[e+f]); 
            if (array.length === d) 
            { 
            for(var g in array) 
             { 
             st += array[g]; 
             } 
             a.substr(e,e+f).replaceWith("vinh"); 
             break;          
            }         
           } 
           else 
           { 
           break; 
           } 
          } 

         } 
        }); 
       }); 

悪いニュースは、文書の準備ができたときに、最初に任意の$(「#ボタン」)が存在しないということです。私はhtmlにボタンを追加するコードをトリガした後、しかしそれは遅すぎる、ボタンは実行されません。誰でもこれを解決できますか?あなたの助けに感謝

+1

$( "#button")on( 'click'、function(){.. – Samir

+0

jqueryを使用してHTML DOMにボタンを注入していますか? –

+0

イベント委任の検索 –

答えて

1
$(document).ready(function() { 
$(document).on("click","#button" function(){ 
    alert("hello"); 
    var a = $("textarea").val(), 
     b = $("#search").val(), 
     c = $("textarea").length, 
     d = $("#search").length, 
     array = [], 
     st = ""; 

    for(var e=0;e<c;e++){ 
     for (var f=0;f<d;f++){ 
      if(a[e+f] === b[f]){ 
       alert(a[e+f]); 
       array.push(a[e+f]); 
       if (array.length === d){ 
        for(var g in array){ 
        st += array[g]; 
        } 
        a.substr(e,e+f).replaceWith("vinh"); 
        break;          
       }         
      }else{ 
       break; 
      } 
     } 
    }          
}); 
}); 
+0

それは動作しますが、 "#button"とfunction()の間にカンマを忘れてしまいました。 –

2

それはclick解雇されているターゲットをチェックしますその後、あなたの欲求elementでそれを発射動的に作成された要素がDOMでクリックeventlistenにある上clickをトリガーするための最良の方法。

使用

$(document).on("click","#button",function(){ // code goes here }) 

あなたは、このために、ボタンの親を使用する必要が公式jQueryのドキュメントClick Here

0

を訪問.on詳細については、こちらをご覧ください。これは親として「身体」を使用した例です:あなたは、別のボタン要素上で実行されるjQueryのコードを書くことができますEvent binding on dynamically created elements?

0

$("body").on("click", "#button", function(){ 
    // Add your code here 
} 

は、より多くの情報のため、このスレッドを見てみましょう。 jsファイルを開き、$ .getScript()を使用してこのボタンをロードするコードの後に​​非同期にロードします。

関連する問題