আমি একটি ওয়েবপ্যাচ (আকর্ষণীয় পাঠ্যের পৃষ্ঠাগুলি সহ একটি ওয়েবসাইট নয়) স্পর্শের জন্য খুব আলাদা ইন্টারফেসের সাথে বিকাশ করছি (আপনার আঙুলটি যখন আপনি ক্লিক করবেন তখন পর্দাটি আড়াল করে) এবং মাউস (হোভার পূর্বরূপে খুব বেশি নির্ভর করে)। আমি কীভাবে সনাক্ত করতে পারি যে আমার ব্যবহারকারীর কাছে তাকে সঠিক ইন্টারফেসটি উপস্থাপনের জন্য মাউস নেই? আমি মাউস এবং স্পর্শ উভয় (কিছু নোটবুকের মতো) লোকের জন্য একটি সুইচ রেখে যাওয়ার পরিকল্পনা করছি plan
ব্রাউজারে টাচ ইভেন্টের সক্ষমতার অর্থ এই নয় যে ব্যবহারকারী কোনও টাচ ডিভাইস ব্যবহার করছেন (উদাহরণস্বরূপ, মডার্নিজার এটি কাটেন না)। কোডটি যা সঠিকভাবে প্রশ্নের উত্তর দেয় সেটিতে যদি ডিভাইসটির মাউস থাকে, অন্যথায় সত্য হয়। মাউস এবং স্পর্শ সহ ডিভাইসগুলির জন্য, এটি মিথ্যা ফিরে আসতে হবে (কেবল স্পর্শ নয়)
পার্শ্ব নোট হিসাবে, আমার টাচ ইন্টারফেসটি কেবল কীবোর্ড-কেবল ডিভাইসের জন্যই উপযুক্ত হতে পারে, তাই এটির জন্য মাউসের অভাবটি আমি বেশি খুঁজে বের করতে চাইছি।
প্রয়োজনীয়তা আরও পরিষ্কার করার জন্য, আমি প্রয়োগ করতে চাইছি এমন API এখানে রয়েছে:
// Level 1
// The current answers provide a way to do that.
hasTouch();
// Returns true if a mouse is expected.
// Note: as explained by the OP, this is not !hasTouch()
// I don't think we have this in the answers already, that why I offer a bounty
hasMouse();
// Level 2 (I don't think it's possible, but maybe I'm wrong, so why not asking)
// callback is called when the result of "hasTouch()" changes.
listenHasTouchChanges(callback);
// callback is called when the result of "hasMouse()" changes.
listenHasMouseChanges(callback);