2010-08-17 68 views
1

我想找到一个简单的解决方案,看起来很复杂!onBlur Javascript事件与检查元素是否有焦点

我有一个textarea用户可以更新他们的状态。 在它下面我有一个复选框(例如:用户选择发送状态或不发送)。

我试图做的是: 1 /当textera获得焦点时,textarea扩展,因为它没问题。

2 /当textarea松散焦点时,所以当用户点击它时,它会崩溃。这也没关系......

唯一的问题是,如果用户点击复选框,textarea也会崩溃,但我想阻止它。

它应该在模糊上折叠并执行该功能,但如果用户尝试与该复选框交互则不应该。

我成立了一个例子此页上:http://favosaurus.com/dev/onblur.php

感谢您的建议。

+0

您的链接只是一个空白页。我虽然onblur意味着元素失去了重点?如果用户在元素外部单击,则会失去焦点。 – 2010-08-17 02:01:50

+0

@Michael Robinson但是他希望textarea去PRETEND它没有失去焦点(并且大概是获得焦点)当且仅当该复选框被点击时 – 2010-08-17 05:00:03

+0

抱歉,我在该页面上进行了会话验证,将其删除以便可以访问由任何人。仍然没有弄清楚在相同的时间很简单和难... 最好的是看到的例子。当用户输入文本时,textarea展开。精细。如果有一些文本,并且用户在外面点击,则textarea不会折叠。没关系。它只在textarea为空时折叠......但问题是如果它是空的,但用户点击复选框,它不应该折叠:) – kire 2010-08-20 21:52:32

回答

0

您将需要使用Javascript。

伪代码:

if input blur, and checkbox not clicked: 

    do normal blur action. 

else: 

    process checkbox click 
    focus input again 
+0

这是否考虑到事件:文本框上的模糊事件发生在复选框上的焦点事件? – Kev 2010-08-17 12:19:28