这个Meteor客户端代码有2个按钮,“CLEAR”按钮假设清除输入框,注意到以下行为:
1)Firefox浏览器; WindowsXP上的52.2.1和mac上的54.1,不清除输入框,而是调用clickInfo()
。
2)在以下浏览器上正常工作:
a)Mac上的Chrome 59
b)Safari 10.2
c)Android上的Chrome
代码需要能够通过单击/点击INFO按钮或按键盘上的ENTER键来调用clickInfo()
。
知道如何让CLEAR按钮清除所有浏览器的输入框吗? THX
Template.footer.events({
'click #clear': () => {
event.preventDefault();
dict.set('busy', false);
dict.set('prop1', '');
let elem = document.getElementById('prop1');
elem.value = '';
elem.focus();
},
'click #info': function () {
event.preventDefault();
clickInfo();
}
});
Template.body.events({
'submit form': function (event) {
event.preventDefault();
clickInfo();
}
});
<head>
<title>myTitle</title>
<link rel="apple-touch-icon" href="/appIcon.png"/>
<link rel="apple-touch-icon-precomposed" href="/appIcon.png"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
{{> header}}
<div id="main">
<div id="login-div">{{> loginButtons align='right'}}</div>
<div id="content">
<form>
<button type="submit" style="display:none"></button>
{{> content}}
{{> footer}}
</form>
</div>
</div>
</body>
<template name="footer">
<footer>
<button id="clear">CLEAR</button>
<button id="info">INFO</button>
</footer>
</template>
答案 0 :(得分:1)
像这样使用'submit form': function (e) {
,
使用 e 代替事件