考虑以下HTML:
<form ....>
<textarea>....</textarea
<input .... />
</form>
现在我想在用户专注于任何表单元素时显示帮助部分。当焦点消失时,帮助信息也应该如此。
我的想法是:
$("form").focus(function(){...});
$("form").unfocus(function(){...});
但它似乎不起作用。有任何想法吗?非常感谢你的帮助!
汤姆
增加: 非常感谢你,它很有效。我使用了lonesomeday的解决方案,但我的动画还有另一个问题:
$('form').delegate(':input', 'focus', function() {
$("#eintrag").animate({"height": "160px"}, 500)
$("#header").animate({"height": "200px"}, 500)
$("#container").animate({"margin-top": "240px"}, 500)
$(".show").animate({"opacity": "0"}, 500)
$(".hide").animate({"opacity": "1"}, 500)
$("#header_links>p").animate({"opacity": "0"}, 500)
}).delegate(':input', 'blur', function() {
$("#eintrag").animate({"height": "20px"}, 500)
$(".show").animate({"opacity": "1"}, 500)
$("#container").animate({"margin-top": "150px"}, 500)
$(".hide").animate({"opacity": "0"}, 500)
$("#header_links>p").animate({"opacity": "1"}, 500)
$("#header").animate({"height": "110px"}, 500)
});
这意味着每次我在表单中更改焦点时都会获得动画。我该如何改变?
答案 0 :(得分:4)
嗯,我会找到所有输入元素并绑定它们,例如
$(function() {
$( '#form_id' ).find('input').focus(function() {
//your function
});
$( '#form_id' ).find('input').blur(function() {
//your function
});
});
答案 1 :(得分:2)
尝试使用$(“:input”)(介意冒号)
焦点的相反事件是模糊,而非焦点
答案 2 :(得分:2)
问题:
答案 3 :(得分:0)