在可编辑的div中使用jquery click事件

时间:2011-11-22 18:44:21

标签: javascript jquery html events text

我使用JQuery为不同的标签注册事件。这是迄今为止的代码:

<!DOCTYPE html>
<html>
    <head>
        <script src="jquery-1.7.js"></script>
    </head>
    <body>
        <p>First Paragraph</p>

        <p>Second Paragraph</p>
        <p>Yet one more Paragraph</p>

        <div><p>another one</p></div>

        <p><strong>big one</strong></p>

        <div contentEditable="true"><p>hello <b>there</b></p></div>

        <script>
            $("p").click(function () { 
                         alert('p tag'); 
                         });

            $("div").click(function () { 
                         alert('div tag'); 
                         });

            $("b").click(function () { 
                         alert('strong tag'); 
                         });

            </script>

    </body>
</html>

我想开发一个简单的文本编辑器,并希望捕获点击事件,以便我可以更新我的按钮状态(粗体,斜体,......)。我希望click事件在一个可编辑的div中工作,但它们只在选择div标签时触发一次,然后在编辑开始时,单击div内的任何地方都不会触发,即使我在其中有p和b标签div。有可能使用可编辑的div来实现这一点吗?基本上我希望能够知道光标是在b标签还是i标签内,以便我可以更新按钮的状态。

1 个答案:

答案 0 :(得分:1)

您可以使用.one

$("editableDIV").one("click",function(){...});