很抱歉再次打扰你这个问题。
我从詹姆斯约翰逊那里接受的解决方案实际上并没有起作用,因为它阻止我将任何数据输入到文本框中,这不是我们想要的。
我们希望仅将消息显示为帮助信息。换句话说,如果他/她希望收到电子邮件,我们只想建议用户勾选复选框。
以下是我根据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>
答案 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');
}):