2011-01-09 21 views
0

私は、特定のdivを見つけて内部のHTMLを編集するjQueryアプリケーションを持っています。それは、私のJSで関数を呼び出すように設計されたonclicksでいくつかのdivを追加します。Javascript Onclicksが動作しませんか?

いくつかの奇妙な理由で、コードをアクティブにするように定義された関数がある場合、これらをクリックしても機能しません。しかし、 "alert(" Testing ");"を呼び出すとうまく動作します。

私は過去にコード生成のonclicksをうまく動作させることができたので、これはかなり戸惑っています。ここで唯一新しいことはjQueryです。

コード:他の場所コードで

function button(votefor) 
{ 
    var oc = 'function(){activate();}' 
    return '<span onclick=\''+oc+'\' class="geoBut">'+ votefor +'</span>'; 
} 

:他の場所

var buttons = ''; 
    for (var i = 2; i < strs.length; i++) 
    { 
     buttons += button(strs[i]); 
    } 
    var output = '<div name="pwermess" class="geoCon"><div class="geoBox" style=""><br/><div>'+text+'</div><br/><div>'+buttons+'</div><br/><div name="percentages"></div</div><br/></div>'; 
$(obj).html(output); 

function activate() 
{ 
    alert("Testing"); 
} 
+13

いくつかのコードを投稿してください。 –

+0

jQueryファイルを正しくロードしましたか? – lnrbob

+0

他のjsライブラリを同時に使用していますか? –

答えて

2

あなたは彼らが作成されるたびにオブジェクト(セレクターに一致する)にイベントハンドラをバインドしtake a look atjQuery.live(eventType, eventHandler)、したいことがあり、例えば:

$(".somebtn").live("click", myClickHandler); 
+0

ありがとうございます。 :)これはちょうど私がそれに必要なものでした! –

1

はダミー例に従う、これはあなたを助けることができるかもしれません。

<!DOCTYPE html> 
<html> 
<head> 
<style> 

</style> 

<script src="http://cdn.jquerytools.org/1.2.5/jquery.tools.min.js"></script> 
<script type="text/javascript"> 

$(function() { 

     $('.go-right').click(function(){ 

       c="Hello world"; 
       $("#output").html(c); 
     }); 

}); 

</script> 

</head> 
<body > 


<div id="output"></div> 

<a class="go-right">RIGHT</a> 

</body> 
</html> 
0

変更この:

var oc = 'function(){activate();}' 

この代わりに:

var oc = 'activate();' 
+0

@Georges_Oates_Larsenこれはあなたのコードを修正しますが、afEkenholmのアプローチは最も素早く、HTMLからJSを "削除"します –

関連する問題