জাভাস্ক্রিপ্ট / jQuery এ (ঙ) এর অর্থ কী?


97

আমি জাভাস্ক্রিপ্ট / jQuery এ নতুন এবং আমি কীভাবে ফাংশনগুলি করতে হয় তা শিখছি। বন্ধনীতে (ঙ) দিয়ে প্রচুর ফাংশন ক্রপ হয়ে গেছে। আমার অর্থ কী তা আমি আপনাকে দেখাতে দাও:

$(this).click(function(e) {
    // does something
});

এটি সর্বদা উপস্থিত হয় যে ফাংশন এমনকি (ঙ) এর মান ব্যবহার করে না, তাই কেন এটি প্রায়শই সেখানে হয়?

উত্তর:


104

eeventঅবজেক্টের জন্য সংক্ষিপ্ত বর্ণের রেফারেন্স যা ইভেন্ট হ্যান্ডলারের কাছে পাঠানো হবে।

ইভেন্ট অবজেক্টে মূলত ইভেন্টের হ্যান্ডলারে ব্যবহার করা যায় এমন অনেক আকর্ষণীয় পদ্ধতি এবং বৈশিষ্ট্য রয়েছে।

উদাহরণ হিসাবে আপনি পোস্ট করেছেন হ'ল একটি ক্লিক হ্যান্ডলার যা একটি a MouseEvent

$(<element selector>).click(function(e) {
    // does something
    alert(e.type); //will return you click
}

ডেমো - মাউস ইভেন্টস ডেমো ব্যবহার করেe.whichএবংe.type

কিছু দরকারী তথ্যসূত্র:

http://api.jquery.com/category/events/

http://www.quirksmode.org/js/events_properties.html

http://www.javascriptkit.com/jsref/event.shtml

http://www.quirksmode.org/dom/events/index.html

http://www.w3.org/TR/DOM-Level-3-Events/#event-types-list


হ্যাঁ, এটি প্রায় একটি নির্বোধ প্রশ্নের মতো মনে হচ্ছে, তবে কখনই কম নয়, এটি সঠিক জায়গায়, js এর সাথে সাদৃশ্য হিসাবে jQuery ব্যবহৃত)
SpYk3HH

@ স্পাইকি 3 এইচ এইচ। তাই করার পরিকল্পনা।
সেলভাকুমার আরুমুগাম

@ সেলভাকুমারআড়ামুগাম সুতরাং আমি এতটা নিশ্চিত নই যে তারা একই জিনিস। দেখে মনে হচ্ছে এটির একটি ডাব্লু.এভেন্ট এবং অন্যটি মাউসএভেন্টকে দেয়। উপরের উদাহরণের জন্য আমি মনে করি এগুলি যথেষ্ট পরিমাণে সমান, তবে $ (দস্তাবেজ) এর ক্ষেত্রে। ); দুটি আলাদা। বিশেষতঃ ই-কর্নার টার্গেট এবং ইভেন্ট কনকন্টেন্ট টার্গেটের জন্য। এক্ষেত্রে ই-কর্নার টার্জেট আপনাকে যা দেবে তা আপনাকে দেবে, তবে ইভেন্ট কনটেন্ট টার্গেটটি আপনার ক্লিক করা বোতামটি নয়, ডকুমেন্ট ফিরিয়ে দেয়।
অ্যাডাম ইয়াংজারস

প্রতিক্রিয়াগুলির দিকে তাকিয়ে আমি বলব যে ইভেন্টটি === e.originalEvent, এবং এটিতে আরও কিছুটা বিশদ রয়েছে।
অ্যাডাম ইয়াংজারস


46

অস্বীকৃতি: এটি এই নির্দিষ্ট পোস্টের জন্য খুব দেরি করে দেওয়া প্রতিক্রিয়া তবে আমি এই প্রশ্নের বিভিন্ন প্রতিক্রিয়াগুলি পড়তে পেরে শুনেছি যে আমার বেশিরভাগ উত্তরই পরিভাষা ব্যবহার করে যা কেবল অভিজ্ঞ কোডারদের দ্বারা বোঝা যায়। এই উত্তরটি কোনও নবাগত দর্শকের কথা মাথায় রেখে মূল প্রশ্নটি সম্বোধনের চেষ্টা an

ভূমিকা

সামান্য ' (ঙ) ' জিনিসটি জাভাস্ক্রিপ্টের কোনও কিছুর বিস্তৃত ক্ষেত্রের অংশ যা ইভেন্ট হ্যান্ডলিং ফাংশন বলে। প্রতিটি ইভেন্ট হ্যান্ডলিং ফাংশন একটি ইভেন্ট অবজেক্ট গ্রহণ করে। এই আলোচনার উদ্দেশ্যে, কোনও জিনিসটিকে "জিনিস" হিসাবে ভাবুন যা অন্যান্য ভাষার সামগ্রীর মতো অনেকগুলি বৈশিষ্ট্য ( ভেরিয়েবল ) এবং পদ্ধতি ( ফাংশন ) ধারণ করে। সামান্য (ঙ) জিনিসের ভিতরে হ্যান্ডেলটি ' ' একটি ভেরিয়েবলের মতো যা আপনাকে অবজেক্টের সাথে ইন্টারঅ্যাক্ট করতে দেয় (এবং আমি ভেরিয়েবল ভেরি শব্দটি আলগাভাবে ব্যবহার করি )।

নিম্নলিখিত jQuery উদাহরণ বিবেচনা করুন:

$("#someLink").on("click", function(e){ // My preferred method
    e.preventDefault();
});

$("#someLink").click(function(e){ // Some use this method too
    e.preventDefault();
});

ব্যাখ্যা

  • "#someLink" হ'ল আপনার উপাদান নির্বাচক (কোন HTML ট্যাগ এটি ট্রিগার করবে)।
  • "ক্লিক" একটি ইভেন্ট (যখন নির্বাচিত উপাদানটি ক্লিক করা হয়)।
  • "ফাংশন (ই)" হ'ল ইভেন্ট হ্যান্ডলিং ফাংশন (ইভেন্টে, অবজেক্ট তৈরি করা হয়)।
  • "ই" হ'ল অবজেক্ট হ্যান্ডলার (বস্তুটি অ্যাক্সেসযোগ্য হয়ে যায়)।
  • "প্রতিরোধ ডিফল্ট ()" অবজেক্ট দ্বারা সরবরাহিত একটি পদ্ধতি (ফাংশন)।

কি হচ্ছে?
যখন কোনও ব্যবহারকারী আইডি "#SomeLink" (সম্ভবত কোনও অ্যাঙ্কর ট্যাগ) দিয়ে ক্লিক করেন, তখন একটি বেনামি ফাংশন, "ফাংশন (ই)" কলকরুন এবং ফলাফলকে কোনও হ্যান্ডলারের জন্য নির্ধারিত করুন, "ই" । এখন সেই হ্যান্ডলারটি ধরুন এবং এর একটি পদ্ধতিতে কল করুন "e.preventDefault ()" , যা ব্রাউজারটিকে সেই উপাদানটির জন্য ডিফল্ট ক্রিয়া সম্পাদন করা থেকে বিরত রাখতে পারে।

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

যদিও 'e.preventDefault ()' ইভেন্ট হ্যান্ডলারটির সম্ভবত সবচেয়ে সাধারণ ব্যবহার, তবে অবজেক্টটিতে নিজেই অনেকগুলি বৈশিষ্ট্য এবং পদ্ধতি রয়েছে যা ইভেন্ট হ্যান্ডলারের মাধ্যমে অ্যাক্সেস করা যায়।

এই বিষয়ে কিছু ভাল তথ্য jQuery এর শেখার সাইট, http://learn.jquery.com এ পাওয়া যাবে । JQuery কোর এবং ইভেন্টস বিভাগগুলিতে বিশেষ মনোযোগ দিন ।


29

eকোন বিশেষ অর্থ নেই। eপ্যারামিটারটি হলে এটি কেবল ফাংশন প্যারামিটারের নাম হিসাবে ব্যবহার করার জন্য একটি সম্মেলন event

এটা হতে পারে

$(this).click(function(loremipsumdolorsitamet) {
    // does something
}

যেমন.


8

উদাহরণস্বরূপ, eএই ফাংশনটির জন্য কেবলমাত্র একটি প্যারামিটার, তবে এটি সেই eventবস্তু যা এর মধ্য দিয়ে যায়।


7

eযুক্তি ঘটনা বস্তুর জন্য ছোট। উদাহরণস্বরূপ, আপনি অ্যাঙ্করগুলির জন্য কোড তৈরি করতে চাইতে পারেন যা ডিফল্ট ক্রিয়াটি বাতিল করে। এটি করতে আপনি এমন কিছু লিখবেন:

$('a').click(function(e) {
    e.preventDefault();
}

এর অর্থ যখন কোনও <a>ট্যাগ ক্লিক করা হয়, ক্লিক ইভেন্টের ডিফল্ট ক্রিয়াটি প্রতিরোধ করে।

আপনি এটি প্রায়শই দেখতে পাচ্ছেন, আপনি এটি একটি যুক্তি হিসাবে উল্লেখ করেছেন সত্ত্বেও এটি ফাংশনটির মধ্যে আপনাকে ব্যবহার করতে হবে এমন কিছু নয়।


4

eজন্য jQuery সংক্ষিপ্ত event, বর্তমান ইভেন্ট অবজেক্ট। অনুষ্ঠানের কাজটি বহিস্কারের জন্য এটি প্যারামিটার হিসাবে সাধারণত পাস হয়।

ডেমো: jQuery ইভেন্টগুলি

ডেমোতে আমি ব্যবহার করেছি e

$("img").on("click dblclick mouseover mouseout",function(e){
        $("h1").html("Event: " + e.type);
}); 

আমি পাশাপাশি ব্যবহার করতে পারেন event

 $("img").on("click dblclick mouseover mouseout",function(event){
            $("h1").html("Event: " + event.type);
    }); 

একই জিনিস!

প্রোগ্রামাররা অলস হয় আমরা প্রচুর শর্টহ্যান্ড ব্যবহার করি, আংশিকভাবে এটি আমাদের কাজ হ্রাস করে, আংশিকভাবে পাঠযোগ্যতার সাথে সহায়তা করে। এটি বোঝার ফলে আপনাকে কোড লেখার মানসিকতা বুঝতে সহায়তা করবে।


4

আজ আমি কেবল "e.preventDefault () এ" e "এর মতো অক্ষরগুলি কেন ব্যবহার করব?" সম্পর্কে একটি পোস্ট লিখেছিলাম? এবং আমি মনে করি আমার উত্তরটি কিছুটা অর্থপূর্ণ করবে ...

প্রথমে, আসুন addEventListener এর সিনট্যাক্সটি দেখুন

সাধারণত এটি হবে: টার্গেট.এডএভেন্টলিস্টনার (টাইপ, শ্রোতা [, ব্যবহারক্যাপচার]);

এবং অ্যাডএন্টলিস্ট্যান্টারের পরামিতিগুলির সংজ্ঞা হ'ল:

টাইপ listen একটি স্ট্রিং শোনার জন্য ইভেন্টের প্রতিনিধিত্ব করে।

শ্রোতা: নির্দিষ্ট ধরণের কোনও ঘটনা ঘটলে সেই বস্তুটি যা বিজ্ঞপ্তি গ্রহণ করে (ইভেন্টটি ইন্টারফেস প্রয়োগ করে এমন একটি বস্তু)। এটি অবশ্যই ইভেন্টলিসটনার ইন্টারফেস বা জাভাস্ক্রিপ্ট ফাংশন প্রয়োগকারী একটি উপাদান হতে হবে।

(এমডিএন থেকে)

তবে আমি মনে করি যে এখানে একটি জিনিস রেন্ডার করা উচিত: আপনি যখন জাভাস্ক্রিপ্ট ফাংশন শ্রোতারূপে ব্যবহার করেন, ইভেন্ট ইন্টারফেস (অবজেক্ট ইভেন্ট) প্রয়োগকারী বস্তুটি স্বয়ংক্রিয়ভাবে ফাংশনের "প্রথম প্যারামিটার" এ অর্পিত হবে। সুতরাং , আপনি যদি ব্যবহার করেন ফাংশন (ঙ), অবজেক্টটি "ই" হিসাবে নির্ধারিত হবে কারণ "ই" ফাংশনের একমাত্র প্যারামিটার (অবশ্যই প্রথমটি!), তারপরে আপনি কিছু আটকাতে e.preventDefault ব্যবহার করতে পারেন ....

আসুন নীচের মত উদাহরণটি চেষ্টা করুন:

<p>Please click on the checkbox control.</p>
<form>
    <label for="id-checkbox">Checkbox</label>
    <input type="checkbox" id="id-checkbox"/>

    </div>
</form>
<script>
    document.querySelector("#id-checkbox").addEventListener("click", function(e,v){
         //var e=3;
         var v=5;
         var t=e+v;
         console.log(t);
        e.preventDefault();

    }, false);
</script>

ফলাফলটি হবে: [অবধি মাউস ইভেন্ট] 5 এবং আপনি ক্লিক ইভেন্টটি আটকাবেন

তবে আপনি যদি মন্তব্য চিহ্নটি সরিয়ে ফেলেন তবে:

<script>
       document.querySelector("#id-checkbox").addEventListener("click", function(e,v){
            var e=3;
            var v=5;
            var t=e+v;
            console.log(t);
            e.preventDefault();

       }, false);
   </script>

আপনি পাবেন: 8 এবং একটি ত্রুটি : "আনকাচড প্রকারের ত্রুটি : e.preventDefault এইচটিএমএল ইনপুটমেন্টে কোনও ফাংশন নয় ((ভিএম 409: 69)"।

অবশ্যই, ক্লিক ইভেন্টটি এবার প্রতিরোধ করা হবে না B কারণ ফাংশনে "ই" আবার সংজ্ঞায়িত হয়েছিল।

তবে আপনি কোডটি যদি এতে পরিবর্তন করেন:

<script>
       document.querySelector("#id-checkbox").addEventListener("click", function(e,v){
            var e=3;
            var v=5;
            var t=e+v;
            console.log(t);
            event.preventDefault();

       }, false);
   </script>

প্রতিটি জিনিস আবার সঠিকভাবে কাজ করবে ... আপনি 8 পেয়ে যাবেন এবং ক্লিক ইভেন্টটি প্রতিরোধ করা হবে ...

সুতরাং, "ই" আপনার ফাংশনটির কেবলমাত্র একটি প্যারামিটার এবং "ইভেন্ট অবজেক্ট" পেতে e.preventDefault () সঞ্চালনের জন্য আপনার ফাংশন () এ একটি "ই" দরকার need এই কারণটিও আপনি জেএস দ্বারা সংরক্ষিত নয় এমন কোনও শব্দের সাথে "ই" পরিবর্তন করতে পারেন।


2

এটি বর্তমান ইভেন্ট অবজেক্টের একটি রেফারেন্স


-1
$(this).click(function(e) {
    // does something
});

উপরের কোডের রেফারেন্স
$(this)হিসাবে উপাদানটি যা কিছু পরিবর্তনশীল হিসাবে রয়েছে।
clickঅনুষ্ঠানটি যা সম্পাদন করা প্রয়োজন।
প্যারামিটারটি eস্বয়ংক্রিয়ভাবে জেএস থেকে আপনার ফাংশনে চলে যায় যা মানটির মান ধরে $(this)এবং কিছু ক্রিয়াকলাপ করতে আপনার কোডে আরও ব্যবহার করা যেতে পারে।


একটি ক্লিক হ্যান্ডলারটিতে ক্লিক করা উপাদানের জাভাস্ক্রিপ্ট ইভেন্ট থাকে এবং $ (এটি) এর মান থাকে না।
গারবেন জঙ্গেরিয়াস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.