ホームページ >バックエンド開発 >PHPチュートリアル >jquery関連の問題、ボタンクリックイベントについて

jquery関連の問題、ボタンクリックイベントについて

WBOY
WBOYオリジナル
2016-06-13 12:13:081112ブラウズ

jquery の問題に関しては、ボタン クリック イベント
には 2 つのページ A と B があります
ページ A には複数の「変更」ボタンがあり、各ボタンには style class="editbtn" があり、ajax をクリックしてページ B に移動します。次のとおりです。コード

$(".editbtn").click(function(){<br />		var url="b.php";<br />		var params = $('form').serialize();<br />		$.ajax({<br />			url: url,<br />			type: 'post',<br />			dataType:'json',<br />			data: params,<br />			success: function (data){<br />				$("#div1").html(data.html);<br />				$("#div2").html(data.script);<br />			}<br />		});<br />	});

B ページ
$data=array(<br />	'html'=>$html,<br />	'script'=>$script<br />);<br />echo json_encode($data);

B ページも、class="editbtn" を含む N 個の「変更」ボタンを返します。これらの返されたボタンをクリックすると、$(" .editbtn) を完了できません。 ").クリック、理由は何ですか?
ページ B に 'script'=>$script があるのは、$(".editbtn").click イベントが完了できないためです。ページ B に上記の jquery を追加して $("#div2) にしました。 ").html とすると、このように実行できますが、効率が悪い気がします。何度もクリックすると、同じコードが何度も繰り返されるようです。これで良いと思いますか?それは悪いことではないでしょうか?
------ソリューションのアイデア----------------------
Put $(".editbtn") .click(function(){
を $(document).on('click', ".editbtn", function(){


--- -- に変更するだけです。 -解決策----------------------
バインディングイベントが
$('.clickme').live ('click' に変更されました) , function() {
alert("ライブハンドラーが呼び出されました。");
});
live: この要素が後で追加されたものであっても、一致するすべての要素にイベント ハンドラー関数をアタッチします。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。