防止在js内部单击切换以关闭
prevent click inside js toggle to close down
我试图阻止 js 在其内部单击时切换关闭。我为 class keep_open
创建了一个停止传播的新函数,但这段代码甚至不再让我点击按钮了。我做错了什么?
<?php $finalres = "02-03";?>
<div>
<h3>ページ<?php echo $finalres; ?><h3>
</div>
<div class="m_page2s" style="display:inline-block;clear: both;">
<img src="<?php echo $my_column; ?>" width="950" height="225" "/>
</div>
<div class="bgcontainer_center<?php echo $finalres; ?>">
<div id="wrapper">
<div id="toggle<?php echo $finalres; ?>">
<input type="button" value="<?php echo $finalres; ?>ページの写真を見る・変更">
<div id="sidebar<?php echo $finalres; ?>">
<script>
$(document).ready(function() {
var sidebarn = "#sidebar02-03";
var number = "02-03";
var sidebarVisible = localStorage.getItem('sidebar' + number) == 'true';
$(sidebarn).toggle(sidebarVisible);
$('.bgcontainer_center + number').toggleClass('clicked', sidebarVisible);
$("#toggle02-03").click(function() {
$(sidebarn).toggle("slow", function() {
localStorage.setItem('sidebar' + number, $(sidebarn).is(':visible'));
});
$('.keep_open').click(function(event) {
event.stopPropagation();
$(".bgcontainer_center + number").toggleClass('clicked');
});
});
});
</script>
您将 stopPropagation 方法保留在另一个点击事件中。尝试分离事件,使您的代码变成这样:
$(document).ready(function() {
var sidebarn = "#sidebar02-03";
var number = "02-03";
var sidebarVisible = localStorage.getItem('sidebar' + number) == 'true';
$(sidebarn).toggle(sidebarVisible);
$('.bgcontainer_center + number').toggleClass('clicked', sidebarVisible);
$("#toggle02-03").click(function() {
$(sidebarn).toggle("slow", function() {
localStorage.setItem('sidebar' + number, $(sidebarn).is(':visible'));
});
});
$('.keep_open').click(function(event) {
event.stopPropagation();
$(".bgcontainer_center + number").toggleClass('clicked');
});
});
我试图阻止 js 在其内部单击时切换关闭。我为 class keep_open
创建了一个停止传播的新函数,但这段代码甚至不再让我点击按钮了。我做错了什么?
<?php $finalres = "02-03";?>
<div>
<h3>ページ<?php echo $finalres; ?><h3>
</div>
<div class="m_page2s" style="display:inline-block;clear: both;">
<img src="<?php echo $my_column; ?>" width="950" height="225" "/>
</div>
<div class="bgcontainer_center<?php echo $finalres; ?>">
<div id="wrapper">
<div id="toggle<?php echo $finalres; ?>">
<input type="button" value="<?php echo $finalres; ?>ページの写真を見る・変更">
<div id="sidebar<?php echo $finalres; ?>">
<script>
$(document).ready(function() {
var sidebarn = "#sidebar02-03";
var number = "02-03";
var sidebarVisible = localStorage.getItem('sidebar' + number) == 'true';
$(sidebarn).toggle(sidebarVisible);
$('.bgcontainer_center + number').toggleClass('clicked', sidebarVisible);
$("#toggle02-03").click(function() {
$(sidebarn).toggle("slow", function() {
localStorage.setItem('sidebar' + number, $(sidebarn).is(':visible'));
});
$('.keep_open').click(function(event) {
event.stopPropagation();
$(".bgcontainer_center + number").toggleClass('clicked');
});
});
});
</script>
您将 stopPropagation 方法保留在另一个点击事件中。尝试分离事件,使您的代码变成这样:
$(document).ready(function() {
var sidebarn = "#sidebar02-03";
var number = "02-03";
var sidebarVisible = localStorage.getItem('sidebar' + number) == 'true';
$(sidebarn).toggle(sidebarVisible);
$('.bgcontainer_center + number').toggleClass('clicked', sidebarVisible);
$("#toggle02-03").click(function() {
$(sidebarn).toggle("slow", function() {
localStorage.setItem('sidebar' + number, $(sidebarn).is(':visible'));
});
});
$('.keep_open').click(function(event) {
event.stopPropagation();
$(".bgcontainer_center + number").toggleClass('clicked');
});
});