我有一个php函数:
function myfunc() {
//then I have a div...
echo '<div class="overlay">';
echo "<button onclick=\"$('.overlay').hide();\">Close</button>";
echo '</div>';
}
我的问题是,当我单击关闭按钮时,div 没有隐藏。
我在这里做错了什么?
我有一个php函数:
function myfunc() {
//then I have a div...
echo '<div class="overlay">';
echo "<button onclick=\"$('.overlay').hide();\">Close</button>";
echo '</div>';
}
我的问题是,当我单击关闭按钮时,div 没有隐藏。
我在这里做错了什么?
避免在 php 代码的输出中硬编码 javascript 处理程序和内联事件:改为执行
echo '<div class="overlay">';
echo "<button>Close</button>";
echo '</div>';
并且之前在您的页面中插入此代码,该代码使用事件委托检测您的按钮单击
<script>
$(document).on('click', '.overlay button', function() {
$(this).parent().hide()
});
</script>
尝试:
<button onclick="this.parentNode.style.display = 'none'; return false;">Close</button>
试试这个代码:
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";
}
尝试:
$('.overlay button').live('click',function(
$('.overlay').css({'display': 'none'});
));