点击

时间:2018-10-25 14:48:04

标签: jquery html asp.net-mvc razor

使用最新版本的ASP.net MVC,我尝试将事件侦听器附加到TextBox,以在单击时突出显示TextBox的内容。

我认为这个简单的JQuery可以工作:

@Html.TextBoxFor(t => t.item1, new { onclick= "$(this).blur();" })

但是当我单击TextBox时,它立即失去了焦点,而没有在浏览器的控制台中留下任何错误。

我也尝试了JQuery的onfocusonmouseup事件,但没有成功。

单击文本框时如何突出显示文本框的内容?

3 个答案:

答案 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');" })