不让文本框获得焦点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不让文本框获得焦点相关的知识,希望对你有一定的参考价值。

<html>
<body>
<input type="text" id="testonblur" onfocus="lostOnblur();">
</body>

<script lanuage="javascript">
function lostOnblur()
alert("test");
var testonblur = document.getElementById("testonblur");
testonblur.onblur();

</script>
</html>

像上面这个简单的例子,怎么样可以在弹出的消息框之后,点了确定不让文本框再获取焦点,一次都不可以,为什么我这样没不行的吗

参考技术A 你写个附加属性,然后就可以在Style里面用了。
public class TextBoxHelper

public static readonly DependencyProperty AutoSelectAllProperty =
DependencyProperty.RegisterAttached("AutoSelectAll", typeof(bool), typeof(TextBoxHelper),
new FrameworkPropertyMetadata((bool)false,
new PropertyChangedCallback(OnAutoSelectAllChanged)));

public static bool GetAutoSelectAll(TextBoxBase d)

return (bool)d.GetValue(AutoSelectAllProperty);


public static void SetAutoSelectAll(TextBoxBase d, bool value)

d.SetValue(AutoSelectAllProperty, value);


private static void OnAutoSelectAllChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)

var textBox = d as TextBoxBase;
if (textBox != null)

var flag = (bool)e.NewValue;
if (flag)

textBox.GotFocus += TextBoxOnGotFocus;

else

textBox.GotFocus -= TextBoxOnGotFocus;




private static void TextBoxOnGotFocus(object sender, RoutedEventArgs e)

var textBox = sender as TextBoxBase;
if (textBox != null)

textBox.SelectAll();




然后在Style里面
<Setter Property="local:TextBoxHelper.AutoSelectAll" Value="True"/>

local是你引用的命名空间

参考技术B 我是做textbox的style碰到的这个问题。要求不能用硬编码实现。。求高人! 你写个附加属性,然后就可以在Style里面用了。 public class TextBoxHelper 参考技术C 要意义。

利用js在文本框末尾获得焦点

function moveEnd(obj) {
	obj.focus();
	var len = obj.value.length;
	if (document.selection) {
		var sel = obj.createTextRange();
		sel.moveStart(‘character‘, len);
		sel.collapse();
		sel.select();技术分享
	} else if (typeof obj.selectionStart == ‘number‘
			&& typeof obj.selectionEnd == ‘number‘) {
		obj.selectionStart = obj.selectionEnd = len;
	}
}

以上是关于不让文本框获得焦点的主要内容,如果未能解决你的问题,请参考以下文章

JS文本框不能获得焦点

文本框获得焦点时,显示旁边的文字

javascript中怎么设置文本框获得焦点

jsp一个文本框在失去焦点的时候,显示其输入的值,如果没有输入该文本框获得焦点

jquery js 当文本框获得焦点时,自动选中里面的文字

急!!!高手进,IE网页文本框不能获得焦点,无法输入,查看版本提示出错,