我正在尝试使用html开关更改Bootstrap弹出窗口的触发器,我设置了一些基本的jQuery,但每次都将每个开关切换到弹出式窗口,但弹出窗口的响应方式不同。点击更改Bootstrap弹出窗口触发器
我设置了每个弹出窗口,然后将其放入每次更改触发器时都可以调用的函数。我将触发器设置为全局变量,该变量由在html开关更改上运行的函数更改。
这是我的jquery,html位于codepen链接。
jQuery(document).ready(function ($) {
var click_funct = 'hover';
$(".nrl-hint").contents().find(":checkbox").bind('change', function(){
var check_checked = $('#nrl-hint').is(":checked");
if (check_checked) {
console.log("Check ran");
click_funct = 'click';
$("[data-toggle=popover]").popover('destroy');
$("[data-toggle=popover_2]").popover('destroy');
$("[data-toggle=popover_3]").popover('destroy');
$("[data-toggle=popover_4]").popover('destroy');
$("[data-toggle=popover_5]").popover('destroy');
box_funct(click_funct);
}
else {
console.log('Check ran x2');
click_funct = 'hover';
$("[data-toggle=popover]").popover('destroy');
$("[data-toggle=popover_2]").popover('destroy');
$("[data-toggle=popover_3]").popover('destroy');
$("[data-toggle=popover_4]").popover('destroy');
$("[data-toggle=popover_5]").popover('destroy');
box_funct(click_funct);
}
});
function box_funct(click_funct) {
$(".ow-button-hover").attr("href", "javascript:void(0)");
$('.ow-button-hover').popover({
html : true,
trigger : 'click',
placement: "top",
content: function() {
return $('#contact_form_nrl').html();
},
template: '<div class="popover nrl-popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
});
$('[data-toggle=popover]').popover({
html : true,
trigger : click_funct,
content: function() {
return $('#popover_content_wrapper').html();
},
template: '<div class="popover nrl-popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
});
$('[data-toggle=popover_2]').popover({
html : true,
trigger : click_funct,
content: function() {
return $('#popover_content_wrapper_2').html();
},
template: '<div class="popover nrl-popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
});
$('[data-toggle=popover_3]').popover({
html : true,
trigger : click_funct,
placement : 'left',
content: function() {
return $('#popover_content_wrapper_3').html();
},
template: '<div class="popover nrl-popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
});
$('[data-toggle=popover_4]').popover({
html : true,
trigger : click_funct,
placement : 'right',
content: function() {
return $('#popover_content_wrapper_4').html();
},
template: '<div class="popover nrl-popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
});
$('[data-toggle=popover_5]').popover({
html : true,
trigger : click_funct,
placement : 'right',
content: function() {
return $('#popover_content_wrapper_5').html();
},
template: '<div class="popover nrl-popover-2"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"><p></p></div></div></div>'
});
}
box_funct(click_funct);
});
这里是一个codepen链接来演示。 https://codepen.io/RobertCC/pen/Qqzwgd
我非常感谢任何帮助!我知道我可能错过了一些东西。
我不明白你想要达到什么 – CognitiveDesire
我想问你在问什么......如何设置一个开关切换来改变Popover机制是否在'click'上被激活而不是'hover'。那是对的吗? –
是的@Robert C正是我想要做的。尽管如此,我还没有找到最好的办法。 –