我希望用户在点击它时选择整个输入框。
在我的情况下输入框是:
<label for="bla">My checkbox</label>
<input type="input" id="bla" name="check" value="checked" />
为此,我写了以下JS:
function SelectAll(bar){
bar.focus();
bar.select();
console.log(bar);
}
window.onload=function()
{
var bla=document.getElementById("bla");
bla.addEventListener('click',SelectAll(bla),false);
};
但我进入控制台的所有内容都是<input type="input" value="checked" name="check" id="bla">
曾经,无论我点击多少,我都无法再获得更多。
答案 0 :(得分:1)
addEventListener
回调引用应该没有参数。
.addEventListener('click', SelectAll)
通过添加(bla)
,它实际上被称为SelectAll(bla)(element)
,这不是您想要的。
答案 1 :(得分:0)
总结我的研究我得出以下结论:
addEventListener
回调引用应该没有参数,因为它将事件传递给函数。
因此,实施listener
的正确方法是.addEventListener('click', SelectAll, false)
。
由于event
已通过,但您希望使用实际的element
,因此您需要使用bar.target
来访问它。
答案 2 :(得分:-2)
试试这个:
$( "#bla" ).click(function() {
bla.addEventListener('click',SelectAll(bla),false);
});
function SelectAll(element){
element.focus();
element.select();
console.log(element);
}