下面是我的代码,我试图在点击它时隐藏addstuff id div。我尝试了身体点击事件,但它没用。所以我需要像模糊一样的触发事件。但它不适用于模糊和聚焦事件。
$(document).ready(function() {
$('#addstuff').blur(function () { $('#addstuff').fadeOut() })
})
答案 0 :(得分:2)
div没有模糊事件。您可以使用body的click事件创建该效果。请注意,您应该从click事件中排除该div
$(document).ready(function () {
$("body").not("#addstuff").click(function (e) {
$("#addstuff").fadeOut();
});
});
修改强>
正如@TrueBlueAussie建议的那样,最好使用document
而不是'body'
作为点击事件处理程序:
$(document).not("#addstuff").click(function (e) {
$("#addstuff").fadeOut();
});
答案 1 :(得分:1)
你无法使用带有div的.blur,它必须带有一些输入字段。
您可以随时使用
等鼠标事件$(document).ready(function(){
$("#addstuff").mouseleave(function(){
$(this).remove();
});
});
您还可以使用HTML5全局属性contenteditable
(不要忘记将其设置为true或false)
<div id="#addstuf" contenteditable="true">bla bla</div>
由于移动浏览器的兼容性,我不推荐这么多。
答案 2 :(得分:0)
div没有焦点和模糊事件,但您可以添加一个contenteditable属性,以便您可以输入该div,因此实际上会触发模糊:
<div id="addstuff" contenteditable></div>
然后你的jquery代码works。
您可以添加其他功能,以防止人们实际输入该div。
或者,您可以使用.mouseleave()
或.mouseout()
事件。
答案 3 :(得分:0)
div元素无法关注,因此jquery的模糊函数无法应用于它。请参阅下面的Stack Exchange好友的现有答案,了解可以应用焦点的元素。