Framework7 মোবাইল ডিভাইস ফ্রেন্ডলি একটি ফ্রন্ট-এন্ড ফ্রেমওয়ার্ক, যা স্বয়ংক্রিয়ভাবে Touch Events (টাচ ইভেন্ট) সমর্থন করে। ডিভাইস স্ক্রিনে আঙ্গুলের স্পর্শ, ড্র্যাগ, সোয়াইপ ইত্যাদি বিভিন্ন ধরণের টাচ-ভিত্তিক ইউজার ইন্টারঅ্যাকশন সহজে হ্যান্ডল করা যায়। এর ফলে মোবাইল অ্যাপ বা মোবাইল রেসপন্সিভ ওয়েব অ্যাপ তৈরিতে Framework7 অত্যন্ত কার্যকর।
Touch Events এবং Dom7
Framework7 ডিফল্টভাবে Dom7 (একটি লাইটওয়েট jQuery-সদৃশ লাইব্রেরি) ব্যবহার করে DOM ইভেন্ট হ্যান্ডল করতে। Dom7 এর মাধ্যমে Touch Events এর Listener যোগ করা, অপসারণ করা ইত্যাদি করা যায়।
সাধারণ Touch Events
- touchstart: ইউজার স্ক্রিনে আঙ্গুল স্পর্শ করা মাত্র ট্রিগার হয়।
- touchmove: আঙ্গুল স্ক্রিনের ওপর ড্র্যাগ করার সময় ক্রমাগত ট্রিগার হয়।
- touchend: আঙ্গুল স্ক্রিন থেকে তুলে নেওয়ার সময় ট্রিগার হয়।
- touchcancel: সিস্টেম বা ব্রাউজার টাচ ইভেন্ট বাতিল করলে ট্রিগার হয়।
উদাহরণ: Touchstart ইভেন্ট Listener
<div class="block">
<div class="touch-area" style="height:100px; background:#f0f0f0; text-align:center; line-height:100px;">
Touch Here
</div>
</div>
('.touch-area').on('touchstart', function(e) {
var touch = e.targetTouches[0];
startX = touch.pageX;
startY = touch.pageY;
});
('.touch-area').on('touchstart', function(e) {
var touch = e.targetTouches[0];
startX = touch.pageX;
startY = touch.pageY;
});
('.touch-area').on('touchmove', function(e) {
e.preventDefault(); // স্ক্রল বন্ধ
});
Passive Event Listener
পারফরম্যান্সের উন্নতির জন্য ব্রাউজারের Passive Event Listener ব্যবহার করতে পারেন। Framework7 স্বয়ংক্রিয়ভাবে কিছু ইভেন্ট প্যাসিভ হিসেবে নিবে, কিন্তু আপনি নিজেও কনফিগার করতে পারেন।
$$('.touch-area').on('touchmove', function(e) {
// Without calling preventDefault() for passive listener
console.log('Touch moving with passive listener');
}, { passive: true });
সারাংশ
Framework7 এর মাধ্যমে Touch Events হ্যান্ডল করা সহজ। Dom7 সিলেক্টর এবং ইভেন্ট Listener ব্যবহার করে টাচ অ্যাকশন (touchstart, touchmove, touchend) পরিচালনা করা যায়। কাস্টম লজিক প্রয়োগ করে সোয়াইপ ডিরেকশন, ড্র্যাগিং বা অন্যান্য টাচ নির্ভর ইন্টারঅ্যাকশন সহজে ইমপ্লিমেন্ট করা সম্ভব। এটি মোবাইল ভিত্তিক অ্যাপ্লিকেশন উন্নয়নে একটি ব্যবহারবান্ধব সমাধান।