আমি আমাদের ডিভেলিপার্স দলে বেশ নতুন।
আমার কিছু দৃ strong় যুক্তি এবং / বা "ক্ষতি" উদাহরণগুলি দরকার, তাই আমার বস অবশেষে অবনতিহীন জাভাস্ক্রিপ্টের সুবিধাগুলি বুঝতে পারবেন, যাতে তিনি এবং দলের বাকিরা এই জাতীয় জিনিসগুলি থামিয়ে দেন:
<input type="button" class="bow-chicka-wow-wow"
onclick="send_some_ajax(); return false;" value="click me..." />
এবং
<script type="text/javascript">
function send_some_ajax()
{
// bunch of code ... BUT using jQuery !!!
}
</script>
আমি একটি সুন্দর সাধারণ প্যাটার্ন ব্যবহার করার পরামর্শ দিয়েছি:
<button id="ajaxer" type="button">click me...</button>
এবং
<script type="text/javascript">
// since #ajaxer is also delivered via ajax, I bind events to document
// -> not the best practice but it's not the point....
$(document).on('click', '#ajaxer', function(ev) {
var $elem = $(this);
ev.preventDefault();
});
আমার বস (এবং অন্যরা) এই পদ্ধতিকে ব্যবহার করতে না চাওয়ার কারণটি হ'ল ফায়ারবাগের ইভেন্ট-ইন্সপেকশন (বা Chrome ডিভাইস) আর সহজ নয়, উদাহরণস্বরূপ
<input type="text" name="somename" id="someid" onchange="performChange()">
তিনি তত্ক্ষণাত্ পরিবর্তন-ইভেন্টে কী কার্য সম্পাদন করে তা দেখতে পাচ্ছেন এবং স্প্যাগেটি-কোড পূর্ণ পূর্ণ একটি বিশাল জেএস ফাইলে ডানদিকে ঝাঁপিয়ে পড়তে পারেন ।
অবিচ্ছিন্ন জাভাস্ক্রিপ্টের ক্ষেত্রে তিনি কেবলমাত্র দেখতে পাবেন:
<input type="text" name="somename" id="someid" />
এবং কিছু ঘটনা, যদি কোনও হয় তবে এই উপাদানটির সাথে আবদ্ধ ছিল এবং কোন ক্রিয়াকলাপটি ট্রিগার হবে কিনা সে সম্পর্কে তার কোনও ধারণা নেই।
আমি একটি সমাধান খুঁজছিলাম এবং এটি খুঁজে পেয়েছি:
$(document).data('events') // or .. $(document).data('events').click
তবে, এই "পদ্ধতির" কারণে কোন ইভেন্টে কোন ক্রিয়াকলাপ ঘটে তা খুঁজে পেতে "খুব দীর্ঘ ..." নিয়েছে, সুতরাং আমাকে যেমন বাঁধাইয়ের ঘটনা বন্ধ করতে বলা হয়েছিল।
আমি আপনাকে কিছু উদাহরণ বা শক্তিশালী সুবিধা বা "আমাদের কেন ইউজেএস ব্যবহার করা উচিত" এর জন্য অন্য কোনও ধরণের পরামর্শের জন্য জিজ্ঞাসা করছি
আপডেট: "কাজ পরিবর্তন" করার পরামর্শ কোনও আদর্শ সমাধান নয়।
আপডেট 2: ঠিক আছে, আমি কেবল jQuery ইভেন্ট-বাধ্যবাধকতা ব্যবহার করার পরামর্শ দিইনি, আমি এটি করেছিলাম । আমি সমস্ত ইভেন্ট-ডেলিগেশন লেখার পরে বস আমার কাছে এসে আমাকে জিজ্ঞাসা করলেন, কেন আমি বিভিন্ন প্রতিনিধি এবং পদ্ধতির সাথে ইভেন্ট ডেলিগেশন করছি কেন সে জানেনা
আমি কিছু সুস্পষ্ট সুবিধার কথা উল্লেখ করেছি, যেমন - 15 টি ইনপুট-ফিল্ড রয়েছে এবং এরপরেই একটি onchange
ইভেন্ট রয়েছে (কেবল নয়, তাদের মধ্যে onkeyup
কয়েকটিও রয়েছে) তাই সমস্ত ইনপুট-ক্ষেত্রগুলির জন্য এই জাতীয় ইভেন্ট-প্রতিনিধি দলগুলি লেখার পক্ষে আরও যুক্তিযুক্ত, এটি 15 বার করার পরিবর্তে, বিশেষত যদি এইচটিএমএল এর সমস্ত পিএইচপি এর প্রতিধ্বনি -> দিয়ে রেন্ডার করা হয়echo '... <input type="text" id="someid" ... />...'
js-this-class-do-something
বর্গ রয়েছে, সুতরাং কোডের জন্য আপনি সহজেই সিটিআরএল + এফ করতে পারেন।