কেউ দয়া করে জাভাস্ক্রিপ্ট ইভেন্টগুলিতে উদাহরণস্বরূপ এবং কোন দৃশ্যে কোন সম্পত্তি ব্যবহার করা হয়েছে তার মধ্যে সম্পত্তি currentTargetএবং targetসম্পত্তি সম্পর্কে সঠিক পার্থক্য বলতে পারেন ?
কেউ দয়া করে জাভাস্ক্রিপ্ট ইভেন্টগুলিতে উদাহরণস্বরূপ এবং কোন দৃশ্যে কোন সম্পত্তি ব্যবহার করা হয়েছে তার মধ্যে সম্পত্তি currentTargetএবং targetসম্পত্তি সম্পর্কে সঠিক পার্থক্য বলতে পারেন ?
উত্তর:
মূলত, ইভেন্টগুলি ডিফল্টরূপে বুদ্বুদ হয় তাই উভয়ের মধ্যে পার্থক্য হ'ল:
target ইভেন্টটি ট্রিগারকারী উপাদান (উদাহরণস্বরূপ, ব্যবহারকারী ক্লিক করেছেন) currentTarget ইভেন্ট শ্রোতার সাথে যুক্ত এমন উপাদান।এই ব্লগ পোস্টে একটি সহজ ব্যাখ্যা দেখুন ।
XMLHttpRequest
target = উপাদান যা ইভেন্টকে ট্রিগার করেছিল।
currentTarget = ইভেন্টের শ্রোতা রয়েছে এমন উপাদান।
ন্যূনতম চলমান উদাহরণ
window.onload = function() {
var resultElem = document.getElementById('result')
document.getElementById('1').addEventListener(
'click',
function(event) {
resultElem.innerHTML += ('<div>target: ' + event.target.id + '</div>')
resultElem.innerHTML += ('<div>currentTarget: ' + event.currentTarget.id + '</div>')
},
false
)
document.getElementById('2').dispatchEvent(
new Event('click', { bubbles:true }))
}
<div id="1">1 click me
<div id="2">2 click me as well</div>
</div>
<div id="result">
<div>result:</div>
</div>
আপনি যদি এখানে ক্লিক করেন:
2 click me as well
তারপরে 1এটি শোনায় এবং ফলাফলটিতে সংযোজন হয়:
target: 2
currentTarget: 1
কারণ সেই ক্ষেত্রে:
2 ইভেন্টটি উদ্ভূত উপাদান1 ইভেন্টটি শুনেছে এমন উপাদানআপনি যদি এখানে ক্লিক করেন:
1 click me
পরিবর্তে, ফলাফল:
target: 1
currentTarget: 1
71 এ ক্রোমিয়াম পরীক্ষিত।
যদি এটি স্টিক না হয় তবে এটি ব্যবহার করে দেখুন:
বর্তমান মধ্যে currentTargetউপস্থিত বোঝায়। এটি সবচেয়ে সাম্প্রতিক লক্ষ্য যা ইভেন্টটি অন্য কোথাও থেকে বুদবুদ হয়ে গেছে caught
<style>
body * {
margin: 10px;
border: 1px solid blue;
}
</style>
<form onclick="alert('form')">FORM
<div onclick="alert('div')">DIV
<p onclick="alert('p')">P</p>
</div>
</form>
যদি উপরের কোডে পি ট্যাগটিতে ক্লিক করেন তবে আপনি তিনটি সতর্কতা পাবেন এবং ডিভ ট্যাগে ক্লিক করলে আপনি দুটি সতর্কতা এবং ফর্ম ট্যাগটিতে ক্লিক করার জন্য একটি একক সতর্কতা পাবেন। এবং এখন নিম্নলিখিত কোড দেখুন,
<style>
body * {
margin: 10px;
border: 1px solid blue;
}
</style>
<script>
function fun(event){
alert(event.target+" "+event.currentTarget);
}
</script>
<form>FORM
<div onclick="fun(event)">DIV
<p>P</p>
</div>
</form>
[অবজেক্ট এইচটিএমএল অনুচ্ছেদসমূহ]
এখানে ইভেন্ট.টারাগেটটি হ'ল [অবজেক্ট এইচটিএমএলপ্যাগ্রাফিক্যালমেন্ট], এবং ইভেন্ট কুরেন্টটাইজ হ'ল [অবজেক্ট এইচটিএমএল ডিভেলমেন্ট]: সুতরাং
ইভেন্ট.আরগারেট হ'ল নোড যা থেকে ঘটনার সূত্রপাত হয়েছিল এবং বিপরীতে ইভেন্টকন্টেনটরেট নোডকে বোঝায় যেখানে বর্তমান-ইভেন্ট শ্রোতার সংযুক্ত ছিল more আরও জানার জন্য বুদবুদ দেখুন
এখানে আমরা পি ট্যাগটিতে ক্লিক করেছি তবে পি তে আমাদের শ্রোতা নেই তবে এর মূল উপাদান ডিভের উপর রয়েছে।
ইভেন্ট.আরগারেট হ'ল নোড যা থেকে ঘটনার সূত্রপাত ঘটে ie আপনি যেখানেই আপনার ইভেন্ট শ্রোতা রাখুন (অনুচ্ছেদে বা স্প্যানে), ইভেন্ট.টারাজেট নোডকে বোঝায় (যেখানে ব্যবহারকারী ক্লিক করেছেন)।
বিপরীতে ইভেন্ট.কন্ট্রেনটারেজেট নোডকে বোঝায় যেখানে বর্তমান-ইভেন্ট শ্রোতা যুক্ত ছিলেন। অর্থাৎ। যদি আমরা আমাদের ইভেন্ট শ্রোতাকে অনুচ্ছেদে নোডে সংযুক্ত করে থাকি, তবে ইভেন্ট.আর্টেজেট প্যারাগ্রাফটিকে বোঝায় যখন ইভেন্ট.আরটিজেট এখনও স্প্যানকে বোঝায়। দ্রষ্টব্য: যদি আমাদের শরীরে কোনও ইভেন্ট শ্রোতা থাকে তবে এই ইভেন্ট-শ্রোতার ক্ষেত্রে ইভেন্ট কন্টেন্টারট্যাজেট শরীরকে বোঝায় (যেমন ইভেন্ট ইভেন্ট-লাস্টার্নারের ইনপুট হিসাবে প্রদত্ত ইভেন্টটি আপডেট করা হয় প্রতিটি সময় ইভেন্ট একটি নোড আপকে বুদবুদ করছে)।