0

Popcorn.js JSONパーサーを介して解析されたjsonデータでjqueryイベントが機能しない理由を誰かが知っていますか?

リンクをクリックしたときに関数を呼び出したい。そして、問題のリンクはjsonファイルにあります。ファイルは期待どおりに解析されているようで、ポップコーンの脚注は期待どおりに表示されます。解析されたリンクをたどることはできますが、イベントは発生しません。

これが私が取り組んでいるコードの一部です:

<script>
$(function() {

     var popcorn = Popcorn("#video");
     popcorn.parseJSON ("data/data.json");

     $("a[href='gohere.html']").click(function() {
           alert("clicked!"); //should display the message, but doesn't         
     });
});
</script>

そして、JSONファイルは次のようになります。

{
 "data": [
    {
        "footnote": {
            "start":"1",
            "end":"3",
            "target":"footnote-container",
            "text":"<a href='gohere.html'>Go Here</a>"
        }
    },
    {
        "footnote": {
            "start":4,
            "end":7,
            "target":"footnote-container",
            "text":"Another piece of text."
        }
    }
  ]
}

助けていただければ幸いです。

4

2 に答える 2

2

.on()で委任を使用する

 $('body')on('click','a[href="gohere.html"]',function() {
       alert("clicked!"); //should display the message, but doesn't         
 });

'body'(必須ではありませんが、より効率的です)静的で、domの準備ができたときに存在する最も近い祖先に置き換えます。これにより、イベントハンドラーがその要素にバインドされます。この要素は、指定されたセレクターからバブルアップするときにイベントをリッスンします。

于 2012-12-03T17:00:08.900 に答える
1

または他の派生物からのコールバック関数内でjQuery.on()を使用してみてください。parseJSONajax

$("a[href='gohere.html']").on('click', function() {
       alert("clicked!");        
 });
于 2012-12-03T16:42:00.173 に答える