আমি ইন-লাইন জাভাস্ক্রিপ্ট এড়ানো পরামর্শ দিই:
var aElems = document.getElementsByTagName('a');
for (var i = 0, len = aElems.length; i < len; i++) {
aElems[i].onclick = function() {
var check = confirm("Are you sure you want to leave?");
if (check == true) {
return true;
}
else {
return false;
}
};
}
জেএস ফিডল ডেমো ।
স্পেসিটি / ফাংশন বজায় রাখার পরেও স্থান হ্রাস করতে উপরের আপডেট হয়েছে:
var aElems = document.getElementsByTagName('a');
for (var i = 0, len = aElems.length; i < len; i++) {
aElems[i].onclick = function() {
return confirm("Are you sure you want to leave?");
};
}
জেএস ফিডল ডেমো ।
কিছুটা বিলেটেড আপডেট, ব্যবহার করার জন্য addEventListener()
( বাইমেগাকাপার পরামর্শ অনুসারে , নীচের মন্তব্যে):
function reallySure (event) {
var message = 'Are you sure about that?';
action = confirm(message) ? true : event.preventDefault();
}
var aElems = document.getElementsByTagName('a');
for (var i = 0, len = aElems.length; i < len; i++) {
aElems[i].addEventListener('click', reallySure);
}
জেএস ফিডল ডেমো ।
উপরেরগুলি প্রতিটি পৃথক লিঙ্কের ইভেন্টের সাথে একটি ফাংশনকে আবদ্ধ করে; যা সম্ভাব্যভাবে অপব্যয়যোগ্য, যখন আপনি ইভেন্ট হ্যান্ডলিং (প্রতিনিধি ব্যবহার করে) কোনও পূর্বপুরুষের সাথে আবদ্ধ করতে পারেন, যেমন:
function reallySure (event) {
var message = 'Are you sure about that?';
action = confirm(message) ? true : event.preventDefault();
}
function actionToFunction (event) {
switch (event.target.tagName.toLowerCase()) {
case 'a' :
reallySure(event);
break;
default:
break;
}
}
document.body.addEventListener('click', actionToFunction);
জেএস ফিডল ডেমো ।
ইভেন্ট-হ্যান্ডলিং body
উপাদানটির সাথে সংযুক্ত থাকে, যার মধ্যে সাধারণত অন্যান্য, ক্লিকযোগ্য, এমন একটি উপাদান থাকে যা আমি ক্লিকটির মাধ্যমে actionToFunction
কী করব তা নির্ধারণ করতে একটি অন্তর্বর্তী ফাংশন ( ) ব্যবহার করেছি । যদি ক্লিক করা উপাদানটি কোনও লিঙ্ক হয়, এবং তাই এর একটি tagName
থাকে a
, ক্লিক-হ্যান্ডলিংটি reallySure()
ফাংশনে পৌঁছে দেওয়া হয় ।
তথ্যসূত্র: