function jackpotKey(event)
{
var value = this.value;
var key = event.keyCode;
if (value.match(/^\d{3}$/) !== null && key !== 8)
{
this.value = value + ',';
}
else if((value.match(/^\d{3},\d{3}$/)) !== null && key!== 8)
{
this.value = value + ',';
}
}
我对如何使用this.value
和event.keyCode
来访问传递给函数的对象的属性感到困惑。
不是同一个对象的this.value
和event.keyCode
吗?如果是这样,为什么event.value
和this.keyCode
不起作用?
答案 0 :(得分:1)
事件对象和this
是两个不同的对象。 this
将引用触发事件的DOMElement,事件对象 事件。假设我们有
<input type="text" id="foo" value="bar"/>
<script language="javascript" type="text/javascript">
document.getElementById('foo').onkeyup = function(e)//event
{
console.log(e === this);//false
console.log((e.target || e.srcElement) === this);//true
console.log(e.value);//undefined
console.log(this.keyCode);//undefined
console.log(e);//;logs instance of KeyboardEvent
console.log(this);//logs input node
};
</script>
只需check this fiddle并查看您的控制台
答案 1 :(得分:0)
没有这个和事件不是同一个对象 例如,文本框是对象和事件,有人按键操作
-Textbox是指这个
和
- 按下的动作是指事件
这样:
- 与文本字段相关的参数,例如它的文本将在此对象中可用
和
- 与按下的键是可用事件对象
=&gt;仔细查看此事件并阅读以下事件。如果你是新手,那么你必须阅读。