模糊事件不适用于div

时间:2014-06-18 08:28:36

标签: javascript jquery html css

下面是我的代码,我试图在点击它时隐藏addstuff id div。我尝试了身体点击事件,但它没用。所以我需要像模糊一样的触发事件。但它不适用于模糊和聚焦事件。

$(document).ready(function() {
            $('#addstuff').blur(function () { $('#addstuff').fadeOut() })
 })

4 个答案:

答案 0 :(得分:2)

div没有模糊事件。您可以使用body的click事件创建该效果。请注意,您应该从click事件中排除该div

$(document).ready(function () {
    $("body").not("#addstuff").click(function (e) {
        $("#addstuff").fadeOut();
    });
});

Fiddle

修改

正如@TrueBlueAussie建议的那样,最好使用document而不是'body'作为点击事件处理程序:

   $(document).not("#addstuff").click(function (e) {
       $("#addstuff").fadeOut();
   });

答案 1 :(得分:1)

你无法使用带有div的.blur,它必须带有一些输入字段。

您可以随时使用

等鼠标事件
$(document).ready(function(){
  $("#addstuff").mouseleave(function(){
    $(this).remove();
  });
});

http://jsfiddle.net/asrF2/

您还可以使用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好友的现有答案,了解可以应用焦点的元素。

Which HTML elements can receive focus?