2016-04-29 7 views
1

その場で追加:たとえばJavascriptを/ jQueryのhtmlの上で発射ないマウスイベントは、私がこのようにJavaScriptを使用して、その場でHTMLを追加してい

document.getElementById('myid').innerHTML += '<a onmouseover="dosomething();">I am a link created on-the-fly</a>'; 

下記のリンク:

<a onmouseover="dosomething();">I am a link created on-the-fly</a> 

<script> 

    function dosomething() { 
     alert('I am dosomething'); 
    } 

</script> 

のために何らかの理由で、マウスイベントが発生せず、jquery hoverイベントでも試してみましたが、どちらも起動しません。それがロードされたページの方法の後に動的に作成されているため

は、このですか?

もしそうなら、どのように私はそれを動作させることができますか?

+2

を動作するはずですが、私は引用問題があると思われる、要素を追加するコードを表示します。 – Barmar

+0

'href = '#''または 'href = 'javascript:void(0);''を追加しようとしましたか?私は 'href'が有効でない' achor'を知っていますが、テスト目的のために、それは傷つけません。 – imvain2

+0

@ imvain2 'href'は、クリックするだけで問題ありません。ホバリングの問題ではありません。 – Barmar

答えて

1

これは

$(document).ready(function(){ 
 
    $(document).on("mouseover",".obj",function(){ 
 
     alert("done!"); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a class="obj" href="#">mouseover</a>

+3

HTMLアトリビュートを使用してイベントハンドラをアタッチする場合、これは必要ありません。 – Barmar

+0

OP以外にもOPがjQueryを試してみて、うまくいかないと言っていました。これは、JQueryが動作しない部分を解決します。 – imvain2

+0

@Bamar私はイベントを動的に作成された要素にバインドしなければならないと思っていました。 – zer00ne

関連する問題