zawazawa運営様
おそらく原因がわかったため記載します。
jquery.comment-action-menu.js
const hoverEvent = [];
const isTouchDevice = navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
if (isTouchDevice) {
// A タッチできるならタッチをトリガーに
hoverEvent.push('touchstart.' + EVENT_NAMESPACE);
}
if (navigator.pointerEnabled || !isTouchDevice) {
// B タッチできるかどうかに関係なくマウスポインタがあるなら
// (& このプロパティがないブラウザを想定して、タッチなしなら常に) ホバーで
hoverEvent.push('mouseenter.' + EVENT_NAMESPACE);
}
この部分、現象が発生しているPCでは navigator.maxTouchPoints が 2 になっており、
isTouchDevice が true となり、タッチパネルを備えたデバイスと判定されています。
その理由としては、ペンタブレットのドライバーをこのPCにインストールして使用しているためと思われます。
(XPPen製、Wacom製のドライバをインストール済み。Macでは影響がない一方で、Windows環境では、ドライバをインストールすると、タッチパネル搭載として扱われてログイン画面でソフトウェアキーボードが出たりなどの変化があります。ドライバをインストールしたら、ペンタブレット実機がなくても、再現できるかもしれません)
一方で、navigator.pointerEnabled は undefined です。
したがって、mouseenter のイベント追加が行われず、ボタンが表示されないということになります。
(navigator.pointerEnabled || !isTouchDevice) という条件の見直しが必要かと思われます。
ここまでわかりましたから、修正をお願いします。
逆に、こちらのPC環境に対して補足要求がありましたらお願い致します。
通報 ...
情報提供ありがとうございます。
確認いたします。
何卒よろしくお願いいたします。
実際に試していませんが、SurfaceのようなタッチパネルつきのWindowsPCでもアウトになりそうです
新しいロジックを検討しております。
恐れ入りますが、今しばらくお待ちください。
調整しました。
ご確認いただけたら幸いです。
ありがとうございます!
今までリアクションボタンが表示されなかった環境で試してみたところ、
いずれでも表示されて機能が利用可能となりました。
原因特定からの迅速なご対応、大変助かります。ありがとうございました。
引き続き利用させていただきますので、よろしくお願いいたします。
ご確認ありがとうございます。
今後ともよろしくお願いいたします。