我已经创建了用于触发一些点击事件的代码。这些事件就像使用函数嵌套一样。当我单击按钮时,多次调用click事件。
对于Ex。我有一个按钮(b1)打开侧边栏(已隐藏)。我还有另一个按钮(b2),它位于侧边栏中。当我打开侧边栏并第一次点击b2时,它的工作正常,即它正在调用一次。但是,当我关闭侧边栏并使用b1再次打开侧边栏并单击b2时,单击事件触发两次。同样,它会根据侧栏打开使用b1多次触发。每次点击b1时触发器都会增加
以下是我的代码:
<button class="b1">Show Sidebar</button>
<button class="b3">Hide Sidebar</button>
<div class="sidebar">
<input type="text" class="demo">
<button class="b2">Triggers</button>
</div>
<script>
function getSidebarEvents() {
$('.b2').click(function(){
console.log('Triggering Multiple times');
});
}
$('.b1').click(function() {
//Do something to open sidebar
getSidebarEvents();
});
$('.b3').click(function() {
//Do something to close sidebar
});
</script>
我知道我的函数在每次点击b1时多次调用,然后单击b2的事件正在初始化多次。但我无法改变这种结构,因为我的代码现在已经很大了。我需要一些小的改动来帮助我解决这个问题。
答案 0 :(得分:2)
您应该将click事件处理程序分配给函数外部,如此。现在 if 你要模拟该函数内部的点击,只需调用click事件。
$wp_query_obj->set('cat', '2,3' );