-1

javascript/jQuery を使用して、ページの読み込み (または (document).ready) でオブジェクトを作成し、後で入力のキーアップなどで使用することは可能ですか。もしそうなら、どのように?

4

2 に答える 2

1

すべてのコードを入れれば$(document).ready{all code here}、変数は範囲外になりません。

$(document).ready(function(){
  var someObject={};
  $("selector").click(function(e){
    console.log(someObject);
  });
});

HTML で onclick を使用している場合は、それを変更して、すべての JS コードを JS ファイルまたは<script>ブロック (HTML ではなく) に移動することをお勧めします。

多くの変数をグローバル スコープに配置する代わりに、名前空間を設定できます (すべてのコードを $(document).ready に配置できない場合)。

var myApplication = myApplication || {};//if myApplication doesn't exist then create it
myApplication.someObject = {};

次に、JS が複数のファイルに分散している場合でも、1 つの myApplication オブジェクトを維持できます。

gpが述べたように; data を使用して、データを html 要素に追加できます。

$("#somebutton").on("click",function(e){
  $(this).data("someObject",{});// you can use e.target instead of this as well
});
于 2013-08-25T10:39:24.880 に答える
0

以下に使用例を示します。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    TODO write content
    <div id="MytextID">My text </div>
    <input type="text" id="inputId" name="name">

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        var x = $('#MytextID');
        $('#inputId').keyup(function(){
            alert(x.text());
        })
    })

</script>
  </body>
</html>
于 2013-08-25T10:50:03.413 に答える