jQuery.click () बनाम ऑनक्लिक पर क्लिक करें


558

मेरे पास एक बहुत बड़ा jQuery एप्लीकेशन है, और मैं क्लिक इवेंट्स के लिए नीचे दिए गए दो तरीकों का उपयोग कर रहा हूं।

पहली विधि

एचटीएमएल

<div id="myDiv">Some Content</div>

jQuery

$('#myDiv').click(function(){
    //Some code
});

दूसरी विधि

एचटीएमएल

<div id="myDiv" onClick="divFunction()">Some Content</div>

जावास्क्रिप्ट फ़ंक्शन कॉल

function divFunction(){
    //Some code
}

मैं अपने आवेदन में पहली या दूसरी विधि का उपयोग करता हूं। इनमे से कौन बेहतर है? प्रदर्शन के लिए बेहतर है? और मानक?


9
आप ईवेंट हैंडलर और उनके फायदे / नुकसान को संलग्न करने के विभिन्न तरीकों के बारे में जान सकते हैं: quirksmode.org/js/introevents.html । jQuery उन्नत घटना पंजीकरण के लिए सिर्फ एक अच्छा आवरण है।
फेलिक्स क्लिंग सेप

12
$ (दस्तावेज़) के अंदर क्लिक फ़ंक्शन को रखना याद रखें। पहले से ही (फंक्शन) (।)
joan16v

जवाबों:


559

का उपयोग करना $('#myDiv').click(function(){है बेहतर रूप में यह मानक घटना पंजीकरण मॉडल इस प्रकार है। (jQuery आंतरिक रूप से उपयोग करता है ) addEventListenerऔर attachEvent

मूल रूप से एक घटना को आधुनिक तरीके से दर्ज करना घटनाओं को संभालने का एक विनीत तरीका है। आप जिस लक्ष्य के addEventListener()लिए कॉल कर सकते हैं , उसी लक्ष्य के लिए एक से अधिक ईवेंट श्रोता को पंजीकृत करने के लिए।

var myEl = document.getElementById('myelement');

myEl.addEventListener('click', function() {
    alert('Hello world');
}, false);

myEl.addEventListener('click', function() {
    alert('Hello world again!!!');
}, false);

http://jsfiddle.net/aj55x/1/

AddEventListener का उपयोग क्यों करें? (एनएन से)

addEventListener W3C DOM में निर्दिष्ट ईवेंट श्रोता को पंजीकृत करने का तरीका है। इसके लाभ इस प्रकार हैं:

  • यह एक घटना के लिए एक से अधिक हैंडलर जोड़ने की अनुमति देता है। यह DHTML पुस्तकालयों या मोज़िला एक्सटेंशनों के लिए विशेष रूप से उपयोगी है, भले ही अन्य पुस्तकालयों / एक्सटेंशनों का उपयोग करने की आवश्यकता हो।
  • यह आपको उस चरण का सूक्ष्मता से नियंत्रण प्रदान करता है जब श्रोता सक्रिय हो जाता है (कैप्चरिंग बनाम बबलिंग)
  • यह किसी भी DOM एलिमेंट पर काम करता है, न कि केवल HTML एलिमेंट्स पर।

आधुनिक ईवेंट पंजीकरण के बारे में अधिक जानकारी -> http://www.quirksmode.org/js/events_advanced.html

HTML विशेषताओं को सेट करने के अन्य तरीके , उदाहरण:

<button onclick="alert('Hello world!')">

या DOM तत्व गुण , उदाहरण:

myEl.onclick = function(event){alert('Hello world');}; 

पुराने हैं और वे आसानी से लिखे जा सकते हैं।

HTML विशेषता से बचा जाना चाहिए क्योंकि यह मार्कअप को बड़ा और कम पठनीय बनाता है। सामग्री / संरचना और व्यवहार की चिंताओं को अच्छी तरह से अलग नहीं किया जाता है, जिससे बग को ढूंढना मुश्किल हो जाता है।

DOM एलिमेंट प्रॉपर्टीज़ विधि के साथ समस्या यह है कि केवल एक ईवेंट हैंडलर प्रति ईवेंट के लिए एक तत्व से बाध्य हो सकता है।

पारंपरिक इवेंट हैंडलिंग के बारे में अधिक जानकारी -> http://www.quirksmode.org/js/events_tradmod.html

एमडीएन संदर्भ: https://developer.mozilla.org/en-US/docs/DOM/event


13
कहते हैं कि आप $('#myDiv').click(function(){पहले कोड चलाते हैं , फिर आप जावास्क्रिप्ट से HTML की 20 पंक्तियों को गतिशील रूप से उत्पन्न करते हैं और प्रत्येक पंक्ति में एक बटन होता है जिस पर क्लिक करने पर जावास्क्रिप्ट को उसी फ़ंक्शन को निष्पादित करने की आवश्यकता होती है। यदि आप ऐसा पहले करते हैं तो यह काम नहीं करेगा क्योंकि HTML के उत्पन्न होने से पहले ईवेंट हैंडलर जोड़ा गया है। बस onclick="functionName()"गतिशील रूप से उत्पन्न HTML में फेंकना आसान प्रतीत होगा फिर बटन सीधे काम करता है। या क्या आप इस स्थिति के लिए और अधिक सुरुचिपूर्ण समाधान जानते हैं?
ज़ुलाउज़ सिप २

17
@zuallauz उस मामले के लिए jQuery .delegate()फ़ंक्शन प्रदान करता है। यह साइट पर भविष्य में दिखाई देने वाले किसी भी तत्व के लिए ईवेंट संलग्न करेगा।
ज़ेफिरिन

17
@SimonRobb .liveपदावनत है। .delegateपुराने संस्करणों के लिए उपयोग करें या .onनए jQuery के संस्करणों के लिए उपयोग करें ।
सेल्वकुमार अरुमुगम

4
@Vega, अच्छे अंक। पठनीयता के बारे में क्या? अब आपको फ़ंक्शन नाम की खोज करने के बजाय तत्व की आईडी द्वारा किसी तत्व के सभी क्लिक हैंडलर देखने के लिए पृष्ठ पर सभी संदर्भित जेएस फाइलों को खोजना होगा। इस पर आपका क्या ख्याल है?
supertonsky

6
मैं @supertonsky से सहमत हूं। मैं उस $ ('# myDiv') को पूरी तरह से असहमत हूं। क्लिक करें (फ़ंक्शन () {बेहतर है। एक बड़ी जावास्क्रिप्ट एप्लिकेशन में किसी घटना के साथ बाध्यकारी उस लक्ष्य के लिए सभी संदर्भों को खोजने के लिए बड़े पैमाने पर मुश्किल हो जाता है। क्या यह एक वर्ग पर बाध्यकारी है। , एक आईडी, एक बच्चा एक html टैग का संदर्भ देता है? और क्या होता है अगर css बदल जाता है और वर्ग के नाम जिन्हें आपको बदलने की आवश्यकता होती है? दूसरों के कोड के साथ काम करने के मेरे अनुभव में यह बहुत बदसूरत हो जाता है।
जॉन

65

बेहतर प्रदर्शन के लिए, देशी जावास्क्रिप्ट का उपयोग करें। तेजी से विकास के लिए, jQuery का उपयोग करें। JQuery बनाम मूल तत्व प्रदर्शन में प्रदर्शन की तुलना की जाँच करें ।

मैंने फ़ायरफ़ॉक्स 16.0 32-बिट में विंडोज सर्वर 2008 R2 / 7 64-बिट पर एक परीक्षण किया है

$('span'); // 6,604 operations per second
document.getElementsByTagName('span'); // 10,331,708 operations/sec

क्लिक इवेंट्स के लिए, नेटिव ब्राउज़र इवेंट्स बनाम जेक्वरी ट्रिगर या jQuery बनाम नेटिव क्लिक इवेंट बाइंडिंग की जाँच करें

Chrome में परीक्षण 22.0.1229.79 32-बिट विंडोज सर्वर 2008 R2 / 7 64-बिट पर

$('#jquery a').click(window.testClickListener); // 2,957 operations/second

[].forEach.call( document.querySelectorAll('#native a'), function(el) {
    el.addEventListener('click', window.testClickListener, false);
}); // 18,196 operations/second

9
jQuery को कई अलग-अलग वातावरणों में चलाने में सक्षम होना चाहिए जो इसे अधिक लूट बनाता है और इसे लिखना, बनाए रखना आसान है, लेकिन यदि गति सबसे महत्वपूर्ण है, तो jQuery का जवाब नहीं है
Coops

जब सभी कारण ब्राउज़र का उपयोग नहीं करते हैं, तो सावधान रहें, मुझे लगता है कि उदाहरण के लिए IE के लिए नहीं। शायद एक पॉलीफिल उपयोगी होगा।
khaled_webdev

39

जो मैं समझता हूं, उससे आपका सवाल वास्तव में नहीं है कि jQuery का उपयोग करना है या नहीं। यह बजाय: क्या यह एचटीएमएल या ईवेंट श्रोताओं के माध्यम से ईवेंट इनलाइन को बांधना बेहतर है?

इनलाइन बाइंडिंग को हटा दिया जाता है। इसके अलावा इस तरह से आप केवल एक फ़ंक्शन को किसी निश्चित ईवेंट में बाँध सकते हैं।

इसलिए मैं इवेंट श्रोताओं का उपयोग करने की सलाह देता हूं। इस तरह, आप एक समारोह में कई कार्यों को बाँध सकेंगे और बाद में ज़रूरत पड़ने पर उन्हें अनबॉन्ड कर सकेंगे। इस शुद्ध जावास्क्रिप्ट कोड पर विचार करें:

querySelector('#myDiv').addEventListener('click', function () {
    // Some code...
});

यह अधिकांश आधुनिक ब्राउज़रों में काम करता है।

हालाँकि, यदि आप पहले से ही अपने प्रोजेक्ट में jQuery को शामिल करते हैं - बस jQuery का उपयोग करें: .onया .clickफ़ंक्शन।


इनलाइन HTML का उपयोग करके कई कार्यों को पंजीकृत करना संभव है जैसे <div onclick = "handler1 (); हैंडलर 2 (); हैंडलर 3 ();"> </ div>
किरा

2
इस तरह आप अभी भी केवल एक "अभिव्यक्ति" दर्ज कर रहे हैं। उदाहरण के लिए, यदि handler1कोई त्रुटि फेंकता है, handler2और handler3कभी कॉल नहीं किया जाएगा। इसके अलावा, आप गतिशील रूप से श्रोता से कुछ फ़िक्स को जोड़ने और हटाने में असमर्थ हैं। और अंतिम लेकिन कम से कम नहीं handler1, handler2और handler3वैश्विक दायरे में घोषित किया जाना चाहिए जो एक गंध है।
मिचेल मिस्ज़ेसिज़िन

अपरिभाषित try..catchहोने पर कार्यों के अंदर उपयोग करने से काम नहीं चलेगा handler2। FYI इनलाइन जावास्क्रिप्ट स्पष्ट रूप से काम नहीं करता है जब JS उपयोगकर्ता के ब्राउज़र में अक्षम होता है, तो कृपया दूसरों को गलत जानकारी न दें।
मिशैल मिस्ज़ेसिज़िन

मैंने उल्लेख किया कि मैं अक्षम जावास्क्रिप्ट के बारे में निश्चित नहीं था। मैं दूसरों को गलत या धोखा नहीं दे रहा हूं
किरा

उस स्थिति में आप निम्नलिखित <div onclick = "function () {try {handler1 (); handler2 (); handler3 ();} catch {}}" </ div>
Kira

15

आप उन्हें जोड़ सकते हैं, क्लिक करने के लिए फ़ंक्शन को बांधने के लिए jQuery का उपयोग कर सकते हैं

<div id="myDiv">Some Content</div>

$('#myDiv').click(divFunction);

function divFunction(){
 //some code
}

14

$('#myDiv').clickबेहतर है, क्योंकि यह HTML से जावास्क्रिप्ट कोड को अलग करता है । पृष्ठ व्यवहार और संरचना को अलग रखने का प्रयास करना चाहिए । इससे बहुत मदद मिलती है।


2
यह उत्तर समझ में आता है क्योंकि जेएस सामान को डिजाइन और लिखने वाले लोग ज्यादातर मामलों में अलग हैं। और लगभग 4 वर्षों के बाद इसे पोस्ट करने के बाद इसे अपग्रेड करना अजीब लगता है !!
LearningEveryday

14

इसके लिए जाएं क्योंकि यह आपको मानक और प्रदर्शन दोनों देगा।

 $('#myDiv').click(function(){
      //Some code
 });

दूसरी विधि के रूप में सरल जावास्क्रिप्ट कोड है और jQuery की तुलना में तेज है। लेकिन यहां प्रदर्शन लगभग समान होगा।


11

IMHO, ऑनक्लिक पसंदीदा तरीका है। केवल तब क्लिक करें जब निम्न स्थितियां पूरी हो जाएं:

  • पृष्ठ पर कई तत्व हैं
  • क्लिक इवेंट के लिए पंजीकृत होने के लिए केवल एक घटना
  • आप मोबाइल प्रदर्शन / बैटरी जीवन के बारे में चिंतित हैं

मैंने इस तथ्य के कारण इस तथ्य का गठन किया कि मोबाइल उपकरणों पर जावास्क्रिप्ट इंजन उनके डेस्कटॉप समकक्षों की तुलना में 4 से 7 गुना धीमा हैं जो एक ही पीढ़ी में बनाए गए थे। जब मैं अपने मोबाइल डिवाइस पर किसी साइट पर जाता हूं तो मुझे इससे नफरत होती है और मुझे चिड़चिड़ाहट होती है क्योंकि jQuery अपने उपयोगकर्ता अनुभव और बैटरी जीवन की कीमत पर सभी घटनाओं को बाध्य कर रहा है। एक और हालिया सहायक कारक, हालांकि यह केवल सरकारी एजेंसियों के साथ एक चिंता का विषय होना चाहिए;), हमारे पास IE7 पॉप-अप एक संदेश बॉक्स के साथ था, जिसमें कहा गया था कि जावास्क्रिप्ट प्रक्रिया लंबी हो रही है ... प्रतीक्षा करें या प्रक्रिया को रद्द करें। हर बार ऐसा हुआ जब jQuery के माध्यम से बाँधने के लिए बहुत सारे तत्व थे।


10

कार्यों में अंतर। यदि आप क्लिक () का उपयोग करते हैं, तो आप कई फ़ंक्शन जोड़ सकते हैं, लेकिन यदि आप एक विशेषता का उपयोग करते हैं, तो केवल एक फ़ंक्शन निष्पादित किया जाएगा - अंतिम एक।

डेमो

एचटीएमएल

<span id="JQueryClick">Click #JQuery</span> </br>
<span id="JQueryAttrClick">Click #Attr</span> </br>

जावास्क्रिप्ट

$('#JQueryClick').click(function(){alert('1')})
$('#JQueryClick').click(function(){alert('2')})

$('#JQueryAttrClick').attr('onClick'," alert('1')" ) //This doesn't work
$('#JQueryAttrClick').attr('onClick'," alert('2')" )

यदि हम प्रदर्शन के बारे में बात कर रहे हैं, तो किसी भी मामले में सीधे उपयोग करना हमेशा तेज होता है, लेकिन एक विशेषता का उपयोग करके, आप केवल एक फ़ंक्शन को असाइन करने में सक्षम होंगे।


। हम $ ( '# JQueryAttrClick') की तरह विशेषता का उपयोग कर एक कार्य की तुलना में अधिक निष्पादित कर सकते हैं attr ( 'onClick', "चेतावनी ( '2'); चेतावनी ( '3'); चेतावनी ( '4')")
Kira

8

चिंताओं का विभाजन यहां महत्वपूर्ण है, और इसलिए घटना बंधन आम तौर पर स्वीकृत विधि है। यह मूल रूप से मौजूदा जवाबों का एक बहुत कुछ कहा गया है।

हालांकि घोषणात्मक मार्कअप के विचार को भी जल्दी मत फेंकिए। यह जगह है, और Angularjs की तरह चौखटे के साथ, केंद्रबिंदु है।

इस बात को समझने की जरूरत है कि पूरी तरह से <div id="myDiv" onClick="divFunction()">Some Content</div>बहुत शर्म की बात है क्योंकि कुछ डेवलपर्स द्वारा इसका दुरुपयोग किया गया था। तो यह पवित्र अनुपात तक पहुँच गया, बहुत पसंद है tables। कुछ डेवलपर वास्तव मेंtables सारणीबद्ध डेटा से बचते हैं । यह बिना समझ के अभिनय करने वाले लोगों का आदर्श उदाहरण है।

हालांकि मुझे अपने विचारों से अपने व्यवहार को अलग रखने का विचार पसंद है। मैं मार्कअप के साथ कोई मुद्दा नहीं देखता कि यह क्या करता है (यह कैसे करता है, यह व्यवहार नहीं है)। यह वास्तविक onClick विशेषता या एक कस्टम विशेषता के रूप में हो सकता है, बूटस्ट्रैप्स जावास्क्रिप्ट घटकों की तरह।

इस तरह, केवल मार्कअप पर नज़र रखने से, आप देख सकते हैं कि क्या होता है, बजाय लुकअप जावास्क्रिप्ट इवेंट बाइंडर्स को रिवर्स करने की कोशिश करने के।

इसलिए, उपरोक्त के तीसरे विकल्प के रूप में, मार्कअप के भीतर व्यवहार की घोषणा करने के लिए डेटा विशेषताओं का उपयोग करना। व्यवहार को देखने से बाहर रखा जाता है, लेकिन एक नज़र में आप देख सकते हैं कि क्या हो रहा है।

बूटस्ट्रैप उदाहरण:

<button type="button" class="btn btn-lg btn-danger" data-toggle="popover" title="Popover title" data-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>

स्रोत: http://getbootstrap.com/javascript/#popovers

नोट दूसरा उदाहरण के साथ मुख्य नुकसान वैश्विक नाम स्थान का प्रदूषण है। यह ऊपर दिए गए तीसरे विकल्प का उपयोग करके या तो कोणीय की तरह ढाँचा या स्वचालित रूप से स्कोप के साथ उनके एनजी-क्लिक विशेषताओं को दरकिनार किया जा सकता है।


4

न ही कोई बेहतर है कि उनका उपयोग विभिन्न उद्देश्यों के लिए किया जा सके। onClick(वास्तव में होना चाहिए onclick) बहुत थोड़ा बेहतर प्रदर्शन करता है, लेकिन मुझे बहुत संदेह है कि आप वहां अंतर देखेंगे।

यह ध्यान देने योग्य है कि वे अलग-अलग काम करते हैं: .clickकिसी भी jQuery संग्रह के लिए बाध्य हो सकते हैं जबकि onclickउन तत्वों पर इनलाइन का उपयोग करना पड़ता है जो आप चाहते हैं कि यह बाध्य हो। आप केवल एक ईवेंट को उपयोग करने के लिए बाइंड कर सकते हैं onclick, जबकि .clickआप ईवेंट को बाइंड करने के लिए जारी रख सकते हैं।

मेरी राय में, मैं इसके बारे में संगत हूं और बस .clickहर जगह उपयोग करूंगा और अपने सभी जावास्क्रिप्ट कोड को एक साथ रखूंगा और HTML से अलग हो जाऊंगा।

उपयोग न करें onclick। इसका उपयोग करने का कोई कारण नहीं है जब तक कि आप नहीं जानते कि आप क्या कर रहे हैं, और आप शायद नहीं करते हैं।


2
यहां तक ​​कि अगर "बेहतर" को स्पष्ट रूप से परिभाषित नहीं किया गया है, तो इवेंट हैंडलर को सीधे अपने मार्कअप में रखना एक अच्छा विचार नहीं है
Jay

@ जयराज मैंने अपने उत्तर में कब कहा कि यह एक अच्छा विचार था?
विस्फोट

3
यह कहने .clickसे बेहतर नहीं था onclick("न तो एक बेहतर है ") यह निहित था कि onclickलगभग, या कोड लिखने का एक अच्छा तरीका है, जब वास्तव .clickमें एक मील से बेहतर अभ्यास होता है। क्षमा करें, लेकिन IMHO को आपको अपना जवाब देना चाहिए
Jay

2
@ExplosionPills मैं उत्तर के उस हिस्से को हटा दूंगा जो कहता है कि न तो बेहतर है। अंत में अनुच्छेद एक विरोधाभास की तरह लगता है।
जुआन मेंडेस

4
<whatever onclick="doStuff();" onmouseover="in()" onmouseout="out()" />

onclick, onmouseover, onmouseout, आदि घटनाएं वास्तव में प्रदर्शन के लिए खराब हैं ( मुख्य रूप से इंटरनेट एक्सप्लोरर में , आंकड़ा देखें)। यदि आप विज़ुअल स्टूडियो का उपयोग करके कोड बनाते हैं, जब आप इन के साथ एक पृष्ठ चलाते हैं, तो इनमें से हर एक मेमोरी बनाने के लिए एक अलग SCRIPT ब्लॉक बनाएगा, और इस तरह प्रदर्शन धीमा कर देगा।

उल्लेख करने के लिए आपको चिंताओं का अलगाव नहीं होना चाहिए : जावास्क्रिप्ट और लेआउट को अलग करना चाहिए!

इन आयोजनों में से किसी के लिए भी समान बनाने के लिए हमेशा बेहतर होता है, एक ईवेंट हर एक के लिए हजारों अलग-अलग स्क्रिप्ट ब्लॉक बनाने के बजाय, सैकड़ों / हजारों आइटमों पर कब्जा कर सकता है!

(इसके अलावा, बाकी सब कुछ कह रहा है।)


3

खैर, jQuery के पीछे मुख्य विचारों में से एक जावास्क्रिप्ट को गंदा HTML कोड से अलग करना है । पहला तरीका है जाने का रास्ता।


3

ज्यादातर समय, देशी जावास्क्रिप्ट तरीके jQuery पर बेहतर विकल्प होते हैं जब प्रदर्शन एकमात्र मापदंड होता है, लेकिन jQuery जावास्क्रिप्ट का उपयोग करता है और विकास को आसान बनाता है। आप jQuery का उपयोग कर सकते हैं क्योंकि यह प्रदर्शन को बहुत अधिक नहीं घटाता है। आपके विशिष्ट मामले में, प्रदर्शन का अंतर आग्नेय है।


2

उपयोग करने की पहली विधि onclickjQuery नहीं है, लेकिन केवल जावास्क्रिप्ट है, इसलिए आपको jQuery का ओवरहेड नहीं मिलता है। JQuery तरीका चयनकर्ताओं के माध्यम से विस्तारित किया जा सकता है यदि आपको प्रत्येक तत्व में इवेंट हैंडलर को जोड़ने के बिना इसे अन्य तत्वों में जोड़ने की आवश्यकता है, लेकिन जैसा कि आपके पास है अब यह सिर्फ एक सवाल है अगर आपको jQuery का उपयोग करने की आवश्यकता है या नहीं।

व्यक्तिगत रूप से चूंकि आप jQuery का उपयोग कर रहे हैं, इसलिए मैं इसके साथ चिपका रहूंगा क्योंकि यह सुसंगत है और स्क्रिप्ट से मार्कअप को हटा देता है।


1
JQuery का उदाहरण व्यावहारिक रूप document.querySelector('#something').addEventListener(...से सादे जावास्क्रिप्ट में समान या समान है, इसलिए यह बात नहीं है। इसी तरह आप जावास्क्रिप्ट में चाइल्ड नोड्स से बुदबुदाई घटनाओं को पकड़ सकते हैं, न कि सिर्फ jQuery के शॉर्टकट के साथ। इस बात का दिल है कि ये घटनाएँ देखने के बजाय नियंत्रक (जावास्क्रिप्ट व्यवहार परिभाषा फ़ाइल) में होनी चाहिए ( HTML में यहां और वहां बिखरी हुई हैं, वैश्विक-चर-कार्यों की आवश्यकता है या इससे भी बदतर, इनलाइन कोड।)
NoBel

2

पहली विधि पसंद करना है। यह उन्नत ईवेंट पंजीकरण मॉडल [s] का उपयोग करता है , जिसका अर्थ है कि आप एक ही तत्व में कई हैंडलर संलग्न कर सकते हैं। आप ईवेंट ऑब्जेक्ट तक आसानी से पहुंच सकते हैं, और हैंडलर किसी भी फ़ंक्शन के दायरे में रह सकता है। इसके अलावा, यह गतिशील है, अर्थात इसे किसी भी समय लागू किया जा सकता है और विशेष रूप से गतिशील रूप से उत्पन्न तत्वों के लिए अच्छी तरह से अनुकूल है। चाहे आप jQuery का उपयोग करें, एक अन्य पुस्तकालय या देशी तरीके सीधे मायने नहीं रखते हैं।

दूसरी विधि, इनलाइन विशेषताओं का उपयोग करते हुए, बहुत सारे वैश्विक कार्यों की आवश्यकता होती है (जो नाम स्थान प्रदूषण की ओर जाता है) और व्यवहार (जावास्क्रिप्ट) के साथ सामग्री / संरचना (HTML) को मिलाता है। उस का उपयोग न करें।

प्रदर्शन या मानकों के बारे में आपके प्रश्न का उत्तर आसानी से नहीं दिया जा सकता है। दोनों विधियां पूरी तरह से अलग हैं, और अलग-अलग काम करती हैं। पहला एक शक्तिशाली है, जबकि दूसरा तिरस्कृत है (बुरा शैली माना जाता है)।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.