2017-01-19 9 views
1

このMeteorクライアントコードには2つのボタンがあります。 CLEARボタンをクリックすると、コンソールに次のように出力されます
クローム:「フッター明確な」
のFirefox:コンソールはまた、「にReferenceErrorを:イベントが定義されていません」を与える「フォームを送信」イベントコードが異なるブラウザで異なる動作

それはように私はこの問題を解決するにはどうすればよい

をすべてのブラウザで「フッタークリア」を表示しますか? THX

Template.footer.events({ 
    'click #clear':() => { 
    event.preventDefault(); 
    console.log('footer clear'); //<---------- fired in Chrome 
    }, 
    'click #info':() => { 
    event.preventDefault(); 
    console.log('footer info'); 
    } 
}); 

Template.body.events({ 
    'submit form': function (event) { 
    event.preventDefault(); 
    console.log('form submitted'); //<---------- fired in Firefox 
    } 
}); 
<head> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
</head> 
<body> 
    <div id="main"> 
    <div id="content"> 
     <form> 
     <button type="submit" style="display:none"></button> 
      {{> content}} 
      {{> footer}} 
     </form> 
    </div> 
    </div> 
</body> 

<template name="content"> 
    <input type="text" id="plateNum" autocomplete="off"> 
</template> 
<template name="footer"> 
    <footer> 
    <button id="clear">CLEAR</button> 
    <button id="info">INFO</button> 
    </footer> 
</template> 

答えて

1

あなたのクリックハンドラへのパラメータとして、イベントを渡す必要があります。

Template.footer.events({ 
    'click #clear': (event) => { 
    event.preventDefault(); 
    console.log('footer clear'); //<---------- fired in Chrome 
    }, 
    'click #info': (event) => { 
    event.preventDefault(); 
    console.log('footer info'); 
    } 
}); 

Chromeは明確に「イベント」と呼ばれるグローバル変数を持っていますが、Firefoxはそれについてうるさいです。

関連する問題