使用最新版本的ASP.net MVC,我尝试将事件侦听器附加到TextBox,以在单击时突出显示TextBox的内容。
我认为这个简单的JQuery可以工作:
@Html.TextBoxFor(t => t.item1, new { onclick= "$(this).blur();" })
但是当我单击TextBox时,它立即失去了焦点,而没有在浏览器的控制台中留下任何错误。
我也尝试了JQuery的onfocus
和onmouseup
事件,但没有成功。
单击文本框时如何突出显示文本框的内容?
答案 0 :(得分:6)
要在单击时选择所选文本框中的所有文本,
这将是代码:@Html.TextBoxFor(t => t.item1, new { onclick= "$(this).select();" })
答案 1 :(得分:4)
您的代码没有错。您得到的实际行为没有问题。 阅读文档jQuery Blur method documentation
将事件处理程序绑定到“模糊” JavaScript事件,或在元素上触发该事件。
现在阅读JavaScript blur event documentation
当对象失去焦点时,就会发生onblur事件。
因此,基本上,在您的示例中,您说的是组件在单击时应该失去焦点,这正是发生的情况
如果您想要直观地 模糊 您的元素,则可以尝试类似的操作
.blurred{
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
}
div{
width: 100px;
height: 100px;
background-color: #ccc;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- If what you want is to blur the element -->
<input type="text" value="click me to blur me" onclick="$(this).addClass('blurred')"/>
<hr/>
<!-- If what you want is to select all the content -->
<input type="text" value="click me to select all the data" onclick="$(this).select()"/>
答案 2 :(得分:2)
据我了解,您对u的理解是“模糊”,是将文本颜色更改为浅灰色。
可以简单地通过以下方式完成:
@Html.TextBoxFor(t => t.item1, new { onclick= "$(this).css('color','#ddd');" })