কম্পিউটার টিউটোরিয়াল

HTML5 ক্যানভাস এলিমেন্টে সিম্পল onClick ইভেন্ট হ্যান্ডলার কীভাবে যোগ করবেন?


ক্যানভাস এলিমেন্টে আঁকা এলিমেন্টগুলোর কোনো রিপ্রেজেন্টেশন নেই। তাদের একমাত্র রিপ্রেজেন্টেশন হলো তারা যে পিক্সেল এবং কালার ব্যবহার করে। ক্যানভাস এলিমেন্টে আঁকা মানে ইমিডিয়েট মোডে একটি বিটম্যাপ আঁকা। ক্যানভাস এলিমেন্টে (শেপে) ক্লিক ইভেন্ট পেতে, আপনাকে HTML ক্যানভাস এলিমেন্টে ক্লিক ইভেন্ট ক্যাপচার করতে হবে এবং নির্ধারণ করতে হবে কোন এলিমেন্টে ক্লিক করা হয়েছে। এর জন্য এলিমেন্টের প্রস্থ এবং উচ্চতা সংরক্ষণ করতে হবে।

আপনার ক্যানভাস এলিমেন্টে ক্লিক ইভেন্ট যোগ করতে নিচের কোড ব্যবহার করুন:

canvas.addEventListener('click', function() { }, false);

উদাহরণ

কোন এলিমেন্টে ক্লিক করা হয়েছে তা নির্ধারণ করতে নিচের কোড স্নিপেট ব্যবহার করুন:

var e = document.getElementById('myCanvas'),    elemLeft = e.offsetLeft,    elemTop = e.offsetTop,    context = e.getContext('2d'),    elements = []; // event listener for click event e.addEventListener('click', function(event) {    var xVal = event.pageX - elemLeft,    yVal = event.pageY - elemTop;    console.log(xVal, yVal);    elements.forEach(function(ele) {       if (yVal > ele.top && yVal < ele.top + ele.height && xVal > ele.left && xVal < ele.left + ele.width) {          alert('element clicked');       }    }); }, false); elements.push({    colour: '#1C2128',    width: 250,    height: 200,    top: 30,    left: 20 }); elements.forEach(function(ele) {    context.fillStyle = element.colour;    context.fillRect(ele.left, ele.top, ele.width, ele.height); });

  1. HTML5 Canvas-এ SVG ফাইল কীভাবে আঁকবেন?

  2. HTML5 Canvas-এ তারকা কীভাবে আঁকবেন?

  3. HTML5 Canvas-এ ইমেজ কীভাবে ব্যবহার করবেন?

  4. HTML-এ এলিমেন্টের মান কীভাবে যোগ করবেন?