-1
自分のユーザーのうちのいくつかが実際に投票ボタンをクリックしたか、またはクリック()機能を使用しているかを検出したいと思います。私の投票ボタンはボタンのタグかタグです。マウスで実際のクリックを検出する方法、またはタグボタンで.click()を使用する方法は?
自分のユーザーのうちのいくつかが実際に投票ボタンをクリックしたか、またはクリック()機能を使用しているかを検出したいと思います。私の投票ボタンはボタンのタグかタグです。マウスで実際のクリックを検出する方法、またはタグボタンで.click()を使用する方法は?
HTMLElement.click
機能は、click
イベントをトリガーします。 mousedown
イベントまたはmouseup
イベントは発生しません。これは誰もmousedown
またはmouseup
イベントをトリガーできないと言うわけではありませんが、click
イベントをトリガーするJavaScriptコードのケースを除外する場合は、単にmousedown
またはmouseup
イベントをリスンすることができます。
ここにはES6の例があります。
const demo1 = document.getElementById('demo1');
const demo2 = document.getElementById('demo2');
demo1.addEventListener('click', e => {
demo2.click();
}, false);
demo2.addEventListener('mousedown', e => {
console.log('clicked');
}, false);
<a href="#" id="demo1">Demo 1</a> <a href="#" id="demo2">Demo 2</a>
あなたが(ない人、正直に)Internet ExplorerまたはSafariのを気にしない場合は、ここでEvent.isTrusted
を使用することができます別のES6の例です。
const demo1 = document.getElementById('demo1');
const demo2 = document.getElementById('demo2');
demo1.addEventListener('click', e => {
demo2.click();
}, false);
demo2.addEventListener('click', e => {
console.log(['not trusted', 'trusted'][+e.isTrusted]);
}, false);
<a href="#" id="demo1">Demo 1</a> <a href="#" id="demo2">Demo 2</a>
はい、これは動作しますが、私は好奇心、私はdemo2.addEventListenerをオーバーライドすることができると思います。私は間違っているか正しいですか? –
オーバーライドとはどういう意味ですか? demo2.addEventListener();を定義すると、 –
となります。 ユーザーが再びこのdemo2.addEventListener( 'click'、e => {console.log( 'trusted');})を定義するとどうなりますか?ブラウザのコンソールを使用して、私はかなり確実に2番目の定義の作品です。ユーザーが正当なクリックをしてjavascriptコードを使用していないかどうかを検出できる防弾方法はありますか?記事やブログの投稿を教えてください。 –