将twitter引导程序popover设置为在某个事件之后隐藏,然后在另一个事件之后显示
Set twitter bootstrap popover to hide after a certain event then show after another event
用户在文本区域中进行更改。当发生此更改并且另一个条件为true时(在这种特殊情况下,条件是文本字段包含"yes"),我会显示一个引导弹出窗口。
showPopover = function() {
return $(this).popover("show");
};
hidePopover = function() {
return $(this).popover("hide");
};
var cond = true;
$("textarea").on("change keyup", function (e) {
var pt = $("#user_user_profile_attributes_title").val();
if (cond&&pt=="yes") {
$("[rel=next-popover]").popover({
placement: "right",
trigger: "manual"
})
.hover(showPopover, hidePopover).click(showPopover);
}
else {
$("[rel=next-popover]").popover({
placement: "right",
trigger: "manual"
})
.hover(hidePopover, hidePopover).click(hidePopover);
}
});
复制步骤:1) 转到http://jsfiddle.net/bpjavascript/KscL5/2) 在文本字段中键入yes3) 在文本区域进行更改&单击/悬停时查看弹出窗口4) 将yes改为其他内容&在文本字段中进行更改,不弹出5) 将文本字段改回yes&在文本字段中进行更改-现在您应该会看到一个简短的popover flash。为什么会这样?我希望它显示为步骤3。
您正在将同一类型的多个事件绑定到popover。
相反,在条件逻辑中,如果满足条件,则应绑定一个事件,否则应取消绑定该事件。
所以在你的else
语句中,你应该有这样的内容:
else {
$("[rel=next-popover]").popover({
placement: "right",
trigger: "manual"
})
.off( "mouseenter mouseleave" ).off("click");
}
在这里打闹。
相关文章:
- 在一个“事件”之后触发一个事件;喜欢“;
- 在on.change事件之后运行函数
- addEvent()传奇事件之后的当前最佳实践是什么
- Javascript:在每个onmouseover事件之后执行2个函数
- 可以使 jquery 点击事件在所有其他点击事件之后执行
- 在两个元素的 onrender 事件之后执行函数
- 如何在每次onlick事件之后调用diffect函数
- 是否可以在更改事件之后立即检测到 onclick 事件
- 将twitter引导程序popover设置为在某个事件之后隐藏,然后在另一个事件之后显示
- 在 jQuery / Javascript 中的 bind() 事件之后执行条件
- 在不相关的事件之后重新绑定 .toggle() 事件
- 如何在当前事件之后调用先前绑定的事件
- AngularJS uib日期选择器没有'在uib选项卡中,不要在第一次打开/关闭事件之后显示日历
- 在标记事件之后使用jquery
- 在回调和事件之后调用方法
- 指令中ngChange事件之后的控制器函数
- 在每个事件之后创建目录
- JQuery Mobile Slider在事件之后返回空值
- jQuery:如何将函数绑定到mouseup事件之后立即发生的某个事件
- $watch仅在特定事件之后才查看属性