我问this question有关根据屏幕大小更改引导弹出窗口位置的问题。
答案很棒 - 不过我现在也想改变弹出窗口的动作(所以它是点击移动设备)以及位置,并且很难重新分解代码。这就是我所拥有的:
$(document).ready(function(){
$('#my_list li').popover({
placement: wheretoplace
});
});
function wheretoplace(){
var width = window.innerWidth;
if (width<500) return 'below';
return 'left';
}
如何修改wheretoplace
函数以返回两件事:placement
值和trigger
值?我已经在jsFiddle中找到了现有的东西。
编辑 - 我修改了上面的jsFiddle,以显示完整的解决方案,在@James的答案中添加click
事件。
答案 0 :(得分:1)
如果您尝试从函数返回两个值,请尝试将它们指定为对象的属性,然后返回该对象。
例如
function wheretoplace(){
var data = {};
var width = window.innerWidth;
if (width<500)
{
data.placement = 'below';
}
else
{
data.placement = 'left';
}
data.trigger = "myEvent";
return data;
}
然后在调用wheretoplace
的函数中:
$(document).ready(function(){
$('#my_list li').popover({
placement: wheretoplace().placement,
trigger: wheretoplace().trigger
});
});
这是你想要做的吗?
编辑:回复以下评论:
一样通过在文档准备就绪时将触发器指定为“手动”,您就可以在单击处理程序中调用$(element).popover("toggle")
,这将切换弹出框的外观。