2

ブートストラップ ポップオーバーに問題があります。ボタンがあります。これをクリックすると、フォームが表示されます。フォームにはボタンがあり、これをクリックするとアラートが表示されます。しかし、それをクリックしても、何かを警告しません。なぜ機能しないのかわかりません、助けてもらえますか?みんなありがとう!

<script src="//code.jquery.com/jquery.js"></script>
	<!-- Latest compiled and minified CSS & JS -->
	<script src="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
	<script>
		$(document).ready(function() {
		  $('#form_popover #ok').click(function(){
		  		alert("hi");
		  });
		  $('.btn-open-popover').popover();

		  // //popover option
		  $("#a-popover").popover({
		    title: 'Dang ki thong tin',
		    content: $('#divContentHTML').html(),
		    placement: 'right',
		    html: true
		  }); 
		});
	</script>
<link rel="stylesheet" media="screen" href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
	<div class="col-xs-5 col-sm-5 col-md-5 col-lg-5">
		<a href="#" class="btn btn-default" id="a-popover">Click!</a>
        <div id="divContentHTML" style="display:none">
         <form method="post" id="form_popover">
          	<div class="form-group form-inline kc">
          		<label for="">Name</label>
          		<input type="text" class="form-control" id="user" placeholder="Input field">
          		<label for="">Email</label>
          		<input type="text" class="form-control" id="email" placeholder="Input field">
          	</div>
          	<button type="button" id="ok" class="btn btn-primary">OK</button>
          </form>
        </div>
	</div>

4

2 に答える 2

4

このボタンは動的に読み込まれる (または再初期化される) ため、委任されたイベント ハンドラーを使用する必要があります。例えば:

$(document).on('click', '#ok', function()
{
    alert("hi");
});

フィドル

または static で少し良くなります<div class="col-xs-5 col-sm-5 col-md-5 col-lg-5">:

$('.col-xs-5').on('click', '#ok', function()
{
    alert("hi");
});

フィドル

于 2014-10-17T05:24:30.197 に答える
1

動的に生成された要素にイベントデリゲートを使用できます

  $(document).on('click', '#ok',function(){
            alert("hi");
 });

デモ

于 2014-10-17T05:24:23.443 に答える