প্যাসিভ ইভেন্ট শ্রোতা কি?


180

প্রগতিশীল ওয়েব অ্যাপ্লিকেশনগুলির জন্য পারফরম্যান্স বাড়ানোর জন্য কাজ করার সময়, আমি একটি নতুন বৈশিষ্ট্য Passive Event Listenersপেয়েছি এবং ধারণাটি বুঝতে আমার পক্ষে কঠিন find

Passive Event Listenersআমাদের প্রকল্পগুলিতে কী কী এবং এটির প্রয়োজন কী ?


উত্তর:


212

প্যাসিভ ইভেন্ট শ্রোতা হ'ল একটি উদীয়মান ওয়েব স্ট্যান্ডার্ড, ক্রোম 51 এ পাঠানো নতুন বৈশিষ্ট্য যা স্ক্রোল সম্পাদনাকে বড় সম্ভাবনা দেয়। ক্রোম রিলিজ নোটস।

এটি বিকাশকারীদের স্পর্শ এবং চাকা ইভেন্ট শ্রোতাদের উপর ব্লক করার জন্য স্ক্রোলিংয়ের প্রয়োজনীয়তা বাদ দিয়ে উন্নততর স্ক্রোল পারফরম্যান্সের জন্য অপ্ট-ইন করতে সক্ষম করে।

সমস্যা: ব্যয়বহুল জাভাস্ক্রিপ্ট চলমান থাকা সত্ত্বেও সহজেই চালানোর অনুমতি দেওয়ার জন্য সমস্ত আধুনিক ব্রাউজারের একটি থ্রেডেড স্ক্রোলিং বৈশিষ্ট্য রয়েছে, তবে এই অপ্টিমাইজেশনটি কোনও touchstartএবং touchmoveহ্যান্ডলারের ফলাফলের জন্য অপেক্ষা করার প্রয়োজনে আংশিকভাবে পরাজিত হয়েছে , যা কল করে পুরোপুরি স্ক্রোলটিকে আটকাতে পারে preventDefault()ইভেন্টে।

সমাধান: {passive: true}

স্পর্শ বা হুইল শ্রোতাকে প্যাসিভ হিসাবে চিহ্নিত করে, বিকাশকারী প্রতিশ্রুতি দিচ্ছেন যে হ্যান্ডলার preventDefaultস্ক্রোলিং অক্ষম করার জন্য কল করবেন না । This frees the browser up to respond to scrolling immediately without waiting for JavaScript, thus ensuring a reliably smooth scrolling experience for the user

document.addEventListener("touchstart", function(e) {
    console.log(e.defaultPrevented);  // will be false
    e.preventDefault();   // does nothing since the listener is passive
    console.log(e.defaultPrevented);  // still false
}, Modernizr.passiveeventlisteners ? {passive: true} : false);

ডোম স্পেস , ডেমো ভিডিও , ব্যাখ্যাকারী ডক


1
সুতরাং আমাদের সর্বদা কোডের এই লাইনগুলি যুক্ত করা উচিত (কমপক্ষে বেশিরভাগ ক্ষেত্রে), ডান?
আলটিয়ানো জেরুং

এটি মোজিলায় আপনার জেএস ইঞ্জিনটিকে ক্র্যাশ করেছে। আপনি এই ইভেন্ট শ্রোতার সাথে সংযুক্ত হওয়ার আগে ব্রাউজারটি আরও ভালভাবে সনাক্ত করতে পারেন
yardpenalty.com

ব্রাউজারটি এটির প্রস্তাব দিলে @ আল্টিয়ানো জেরুং আপনি কনসোলের তথ্য বা সতর্কতা ট্যাবে বার্তাটি দেখতে পাবেন।
স্নোইটিস

@ yardpenalty.com আমরা নিম্নলিখিত পলিফিলটি ব্যবহার করতে পারি এবং ব্রাউজারের চেকগুলি এড়াতে পারি। স্ক্রোলিং ব্যবহারের ক্ষেত্রে প্যাসিভ ইভেন্ট শ্রোতাদের ব্যবহার করা একটি বড় প্লাস। github.com/WICG/EventListenerOptions/blob/gh-pages/…
বিক্রান্ত

@ বিক্রান্ত সিওয়াচ দুর্দান্ত পরামর্শ। পলিফিল দ্রুত এবং কিছুটা বেদনাদায়ক হয় যখন আপনি তাদের সমস্তকে পরিচালনা করেন polyfill.js
yardpenalty.com
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.