可以捕获文本框单击事件吗?

时间:2011-09-30 19:43:53

标签: javascript asp.net

很抱歉再次打扰你这个问题。

我从詹姆斯约翰逊那里接受的解决方案实际上并没有起作用,因为它阻止我将任何数据输入到文本框中,这不是我们想要的。

我们希望仅将消息显示为帮助信息。换句话说,如果他/她希望收到电子邮件,我们只想建议用户勾选复选框。

以下是我根据Rob的参考文献得出的结论。 这有效。我希望获得帮助的唯一帮助是在新窗口中打开消息。我正在使用的示例消息是Focus Fire。

你能帮忙吗?

这是最新的代码:

<head>
<style type="text/css">span id='1' {display:none;}</style>
<script type="text/javascript" src="jqueryMsg.js"></script>
</head>
<asp:TextBox ID="chck1" runat="server" Width="75px"></asp:TextBox>
<span id='1'>focus fire</span>
<script type="text/javascript">window.onload = (function () { 
try{    $("input:text").focus(function () {               
$(this).next("span").css('display','inline').fadeOut(1000);    });            
}catch(e){}});</script>

5 个答案:

答案 0 :(得分:1)

ClientIDMode - 属性添加到您的文本框中,以便JavaScript可以通过ID访问它而无需摆弄ctrwhateverstrangeidaspnetproduces:

<asp:TextBox ID="instruct" runat="server" Width="75px" ClientIDMode="static">

然后处理Click-Event(这个例子使用的是jQuery,你也可以使用原始的JavaScript):

$(document).ready(function() {
    $('#instruct').click(function() {
        alert('.click()-handler called.');
    });
});

答案 1 :(得分:0)

一种方法是在Page Load中将其添加到Page Load中,例如:

instruct.Attributes.Add(“onclick”,“yourJavascriptFunction();”)

添加页面加载事件的原因是在回发期间丢失了属性。

答案 2 :(得分:0)

查看JavaScript的onFocus()事件处理程序,该处理程序在关注所需的文本框时将执行提供的函数,因为如果用户单击或标签到所需的文本框,此方法将起作用。

或者你可以在jQuery中使用focus()

$('#instruct').focus(function(){
    // Insert desired response here
    alert('Your instructions');
});

答案 3 :(得分:0)

您可以将文本框包装在SPAN中,并将onmouseover事件添加到范围中。

<span onmouseover="alert('This is a TextBox');"><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></span>

答案 4 :(得分:0)

或者你可以使用onFocus事件(如果用户选中textarea而不是点击它,我假设你想要显示你的信息):

$('textarea').focus(function(){
    alert('hi');
}):