1

テンプレートでそのようなクリックを宣言しました

<script id="flipTemplate" type="text/html">

    <div data-bind="attr: {id:  ImageName }, click: alert('a')">
    ......

</script>

しかし、alert('a')すぐに実行すると、そのdivをクリックしたときにアラートを出すのではなく、動的コンテンツが生成されたボタンをクリックします。

それを修正する方法はありますか?

4

2 に答える 2

2

knockoutjsは、任意のjsステートメントではなく、クリックバインディングパラメーターとしての関数を想定しています。

したがって、アラート呼び出しを無名関数にラップする必要があります

<div data-bind="attr: {id:  ImageName }, click: function(data, event) { alert('a') } ">

ただし、すべてのロジックをkoビューモデルに配置し、バインディングでviewmodelメソッドを使用することを強くお勧めします。data-bindしたがって、式にロジックを入れないでください。

于 2012-08-22T17:50:53.503 に答える
0

なぜDivをこのように設定しているのかわかりません。これはうまくいくでしょうか?

    <div id="mydiv"/>

    <script>
      $(document).ready(function() {
           $("#mydiv").click(function(ev){
             ev.preventDefault();
             alert("a");
           });
      });
    </script>
于 2012-08-22T17:42:19.180 に答える