我正在使用Domready.js库作为jQuery document.ready()
函数的替代品,在ready函数中我有这段代码:
DomReady.ready( function() {
/*
DOM elements
*/
var tel_input = document.getElementsByClassName( 'tel-input' );
/*
When .tel-input is focused, `06` should be added automatically
*/
tel_input.onfocus = function() {
tel_input.value = '06';
};
});
此代码不执行任何操作,控制台不会抛出错误。在tel_input.onfocus = function() {
中发出警报时可以正常工作,但在输入聚焦时插入值不会做任何事情。
答案 0 :(得分:2)
正如@FrédéricHamidi在评论中所说 - getElementsByClassName
返回一个DOM元素列表。
您只有一个元素,但仍需要获取列表的第一个元素
$( function() {
/*
DOM elements
*/
var tel_input = document.getElementsByClassName( 'tel-input' );
/*
When .tel-input is focused, `06` should be added automatically
*/
tel_input[0].onfocus = function() {
tel_input[0].value = '06';
};
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="tel-input" />