2011-01-08 29 views
3

也许我的问题听起来有点泛化,所以让我更清楚。有什么办法来检查一个特定的元素是否被点击过?

我有一个隐藏在blur上的textarea,被另一个div取代。更具体地说,上面的textarea包含markdown代码,div包含这个代码的解析版本。

现在,我正在尝试在textarea的顶部添加一个格式化工具栏,但当然,当我点击它时,blur事件被触发并且textarea被隐藏,这根本不方便。

所以我的问题是,是否有可能在所有为防止被点击工具栏只有当模糊默认行为,如果有什么是做到这一点的最好办法。

非常感谢您的时间:)

+0

如果你只是想回答是或否,那么是可能的。当有人点击工具栏时,您只需更改文本框的Blur属性即可。 – 2011-01-08 12:17:39

+0

感谢您的反馈。也许我应该问怎么样?因为那正是我需要知道的。任何指向这个方向的指针都是值得赞赏的,因为我还在学习,我愿意做我的功课。谢谢:) – finferflu 2011-01-08 12:20:21

回答

1

编辑:我以前的解决方案并没有削减它让我们尝试别的东西。我并不喜欢绑定documentclick事件,但在这种情况下,它可能是最好的解决方案,因为看起来您正在编写某种所见即所得的编辑器。你可以调整它来代替使用.one

$(document).click(function(e){ 
    if ($(e.target).closest("#container").length == 0) { 
     // Target that was clicked is not inside the container, so we can hide or replace the textarea 
     $("textarea").hide(); 
    } 
}); 

您可以在jsFiddle上试试。