আমি এমন একটি মোবাইল ওয়েব সাইটে কাজ করছি যা বিভিন্ন ডিভাইসে কাজ করতে পারে। এই মুহুর্তে যার যার মাথাব্যথা হ'ল সে হ'ল ব্ল্যাকবেরি।
আমাদের উভয় কীবোর্ড ক্লিকের পাশাপাশি স্পর্শ ইভেন্টগুলিকে সমর্থন করতে হবে।
আদর্শভাবে আমি কেবল ব্যবহার করব:
$thing.click(function(){...})
তবে আমরা যে বিষয়টি নিয়ে চলছি তা হ'ল এই ব্ল্যাকবেরি ডিভাইসের কয়েকটিতে স্পর্শের সময় থেকে এটি ক্লিককে ট্রিগার করতে খুব বিরক্তিকর বিলম্ব হয়।
পরিবর্তে টাচস্টার্ট ব্যবহারের প্রতিকারটি হ'ল:
$thing.bind('touchstart', function(event){...})
তবে আমি উভয় ইভেন্টকে কীভাবে বাঁধতে পারি, তবে কেবল একটি গুলি চালানো? কীবোর্ড ডিভাইসগুলির জন্য আমার এখনও ক্লিক ইভেন্টটি প্রয়োজন, তবে অবশ্যই আমি যদি কোনও টাচ ডিভাইস ব্যবহার করি তবে ক্লিক ইভেন্টটি ফায়ারিং করতে চাই না।
একটি বোনাস প্রশ্ন: এমনকি এটি করার মতো কোনও টাচস্টার্ট ইভেন্ট নেই এমন অতিরিক্ত ব্রাউজারগুলিও কি আছে? এটি গবেষণায়, দেখে মনে হচ্ছে যে ব্ল্যাকবেরি ওএস 5 টাচস্টার্ট সমর্থন করে না তাই সেই ব্রাউজারের জন্য ক্লিক ইভেন্টগুলিতে নির্ভর করতে হবে।
সংযোজন:
সম্ভবত আরও ব্যাপক প্রশ্ন হ'ল:
JQuery এর সাথে, একই বাইন্ডিংগুলির সাথে উভয় স্পর্শ ইন্টারঅ্যাকশন এবং মাউস ইন্টারঅ্যাকশন পরিচালনা করতে / সুপারিশ করা হয়?
আদর্শভাবে, উত্তর হ্যাঁ। যদি তা না হয় তবে আমার কাছে কিছু বিকল্প রয়েছে:
1) আমরা ডিভাইস সম্পর্কিত তথ্য পেতে ডাব্লুআরএফএল ব্যবহার করি যাতে আমাদের নিজস্ব ডিভাইসগুলির ম্যাট্রিক্স তৈরি করা যায়। ডিভাইসের উপর নির্ভর করে আমরা টাচস্টার্ট বা ক্লিক ব্যবহার করব।
২) জেএস এর মাধ্যমে ব্রাউজারে স্পর্শ সহায়তার জন্য সনাক্ত করুন (আমার এটি সম্পর্কে আরও কিছু গবেষণা করা দরকার তবে এটি মনে হয় এটি করণীয়)।
যাইহোক, এটি এখনও একটি ইস্যু ছেড়ে দেয়: ডিভাইসগুলি যা দুটিকে সমর্থন করে about আমরা সমর্থন করি এমন কয়েকটি ফোনে (যথা নোকিয়া এবং ব্ল্যাকবেরি) উভয় টাচ স্ক্রিন এবং কিবোর্ড রয়েছে। সুতরাং এই ধরণের আমার পুরো বৃত্তটি মূল প্রশ্নে ফিরে যায় ... দু'জনের জন্য একবারে কোনওভাবে অনুমতি দেওয়ার কোনও উপায় আছে কি?
.bind('touchstart mouseup')
এটি সমাধান করবে (নীচের মন্তব্যের একটি ভিত্তিতে)