1

私はphp関数を持っています:

function myfunc() {

//then I have a div...

echo '<div class="overlay">';
echo "<button onclick=\"$('.overlay').hide();\">Close</button>";
echo '</div>';

}

私の問題は、閉じるボタンをクリックすると、div が非表示にならないことです。

私はここで間違っていますか?

4

4 に答える 4

5

PHP コードの出力内に JavaScript ハンドラーとインライン イベントをハードコードすることは避けてください。代わりに実行してください。

echo '<div class="overlay">';
echo "<button>Close</button>";
echo '</div>';

以前に、イベント委任を使用してボタンのクリックを検出するこのコードをページに挿入します

<script>
  $(document).on('click', '.overlay button', function() {
      $(this).parent().hide()
  });
</script>
于 2012-10-18T09:41:38.237 に答える
2

このコードを試してください:

function myfunc() {

//then I have a div...

echo '<div class="overlay"  id="overlay" >';
echo "<button onclick=\"hide()\">Close</button>";
echo '</div>';

}
//using the javascript code:
function hide()
{
    document.getElementById("overlay").style.display="none";

}
于 2012-10-18T09:51:11.593 に答える
2

試す:

<button onclick="this.parentNode.style.display = 'none'; return false;">Close</button>
于 2012-10-18T09:42:09.713 に答える
0

試す:

$('.overlay button').live('click',function(
    $('.overlay').css({'display': 'none'});
));
于 2012-10-18T12:31:56.360 に答える