不会丢失jquery上的焦点事件

时间:2011-11-21 11:49:21

标签: jquery focus live blur

我有这个HTML:

<div style="display:none" id="myDiv">
 <a href="javascript:adToText('some text 1')">click me</a><br>
 <a href="javascript:adToText('some text 2')">click me</a><br>
 <a href="javascript:adToText('some text 3')">click me</a><br>
</div>

<textarea id="myText">
 hey
</textarea>

javascript:
$("textarea").live("focus",function(){
 $("#myDiv").css("display","block");
});

$("textarea").live("blur",function(){
 $("#myDiv").css("display","none");
});

textarea focus上我将div样式设置为display:block,以便我们可以click javascript链接 该脚本将向textarea

添加文本

on textarea blur我将div样式设置为display:none

我需要查看div个链接,这样我就可以多次添加它们 但是当我click一个链接时,div设置为display:none,因为我是focusedout

textarea

2 个答案:

答案 0 :(得分:2)

你可以像这样防止失去焦点:

$('a').mousedown(function() { return false; })
      .click(function() { alert('works'); });

代码:http://jsfiddle.net/2qMFX/7/

答案 1 :(得分:0)

我建议您让用户关闭div 按需。这意味着,在将焦点输入到<textarea>时,您会显示div,而在div上您有一个关闭按钮,该用户可以点击并关闭。