jQuery.load()を使って外部HTMLを呼び出した時、外部HTML内のimgなどに向けた、マウスオーバーなどの動きが反映されないのですが、、、(.html()で書くと普通に動く)回避策などありますでしょうか。
完了イベントとか無いんでしたっけ。完了後にマウスイベントの設定したらいかがでしょうか。
$.load()のコールバックでマウスオーバー処理を呼び出してあげればいけそうな気がします。
$(’セレクタ’).live(’イベント’, function() { 処理 }); みたいにliveメソッドでイベントにハンドラ登録すると、将来的に読み込まれるものについてもマッチするものは適応した気がします。
liveメソッドは非推奨だからonメソッドを使ったほうがいいですね。
jquery長らくいじってなかったので...いまはonメソッドというのがあるんですね!ありがとうございます!
こんな感じかな。
//読み込みHTML <button id="hoge">test</button> //読み出し側HTML <body> <article> <!--ここに挿入--> </article> </body> //JS $('article').on("mouseenter","#hoge",function(){ //何かイベント });
みなさんありがとうございます!!
みんなの回答 5 件
完了イベントとか無いんでしたっけ。
完了後にマウスイベントの設定したらいかがでしょうか。
$.load()のコールバックでマウスオーバー処理を呼び出してあげればいけそうな気がします。
$(’セレクタ’).live(’イベント’, function() { 処理 }); みたいにliveメソッドでイベントにハンドラ登録すると、将来的に読み込まれるものについてもマッチするものは適応した気がします。
こんな感じかな。
//読み込みHTML
<button id="hoge">test</button>
//読み出し側HTML
<body>
<article>
<!--ここに挿入-->
</article>
</body>
//JS
$('article').on("mouseenter","#hoge",function(){
//何かイベント
});
みなさんありがとうございます!!
関連するトピックス