बाएँ और दाएँ माउस के बीच अंतर कैसे करें jQuery के साथ क्लिक करें


574

JQuery का उपयोग करके आप क्लिक माउस बटन कैसे प्राप्त करते हैं?

$('div').bind('click', function(){
    alert('clicked');
});

यह दाएं और बाएं दोनों क्लिक से चालू होता है, सही माउस क्लिक को पकड़ने में सक्षम होने का तरीका क्या है? मुझे खुशी होगी अगर नीचे जैसा कुछ मौजूद है:

$('div').bind('rightclick', function(){ 
    alert('right mouse button is pressed');
});

जवाबों:


900

1.1.3 jQuery के संस्करण के रूप में, event.whichसामान्य करता है event.keyCodeऔर event.charCodeइसलिए आपको ब्राउज़र संगतता मुद्दों के बारे में चिंता करने की ज़रूरत नहीं है। पर प्रलेखनevent.which

event.which क्रमशः बाएं, मध्य और दाएं माउस बटन के लिए 1, 2 या 3 देगा:

$('#element').mousedown(function(event) {
    switch (event.which) {
        case 1:
            alert('Left Mouse button pressed.');
            break;
        case 2:
            alert('Middle Mouse button pressed.');
            break;
        case 3:
            alert('Right Mouse button pressed.');
            break;
        default:
            alert('You have a strange Mouse!');
    }
});

4
@ जेफ़ हाइन्स - मैं क्रोम में एक राइट क्लिक का पता लगाने की कोशिश कर रहा था और यहाँ दिखाया गया कार्यान्वयन ठीक काम करता दिखाई दिया, लेकिन मुझे एहसास हुआ कि केवल इसलिए कि अलर्ट () ने संदर्भ मेनू को प्रदर्शित होने से रोक दिया था। :( बू
जिंगलेथुला

15
नीचे स्क्रॉल करते रहें और @ JeffHines के उत्तर को पढ़ना सुनिश्चित करें । मूल रूप से, jQuery के पास 'रेफरेंसमेनू' ईवेंट के रूप में यह अंतर्निहित है।
20

8
@jpadvo jQuery ने इसे "रेफ़रमेनू" के रूप में नहीं बनाया है, यह contextmenuब्राउज़र का मूल है। देशी जावास्क्रिप्ट में आप oncontextmenuघटना को संलग्न कर सकते हैं ।
Naftali उर्फ ​​नील

6
ie8: संपत्ति का मूल्य प्राप्त करने में असमर्थ 'जो': वस्तु अशक्त या अपरिभाषित है
साइमन

2
क्या मैं प्रसंग मेनू को घटना के बाद आने से रोक सकता हूं?
kmoney12

251

संपादित करें : मैंने इसे .on()jQuery 1.7 या इसके बाद के संस्करण में गतिशील रूप से जोड़े गए तत्वों के लिए काम करने के लिए बदल दिया है :

$(document).on("contextmenu", ".element", function(e){
   alert('Context Menu event has fired!');
   return false;
});

डेमो: jsfiddle.net/Kn9s7/5

[मूल पोस्ट की शुरुआत] यह वही है जो मेरे लिए काम कर रहा है:

$('.element').bind("contextmenu",function(e){
   alert('Context Menu event has fired!');
   return false;
}); 

मामले में आप कई समाधानों में हैं ^ ^

संपादित करें : टिम डाउन एक अच्छा बिंदु लाता है कि यह हमेशा ऐसा नहीं होने वाला right-clickहै जो contextmenuघटना को आग लगाता है , लेकिन यह भी जब संदर्भ मेनू कुंजी दबाया जाता है (जो यकीनन एक के लिए प्रतिस्थापन है right-click)


28
यह स्वीकृत उत्तर होना चाहिए। यह घटना सभी प्रासंगिक ब्राउज़रों में काम करती है और एक पूरे क्लिक (माउस डाउन + माउस अप में निकटता) पर ट्रिगर करती है।
निक रिटलैक

3
यह एकमात्र समाधान है जो मेरे लिए एक <textarea>
styler1972

17
हालाँकि राइट-क्लिक करना प्रसंग मेनू को ट्रिगर करने का एकमात्र तरीका नहीं है।
टिम डाउन

3
मुझे लगता है कि यह गलत तरीका है क्योंकि contextmenuफायरिंग से हमेशा यह नहीं लगता कि सही माउस बटन पर क्लिक किया गया था। सही दृष्टिकोण एक माउस घटना ( clickइस मामले में) से बटन जानकारी है ।
टिम डाउन

1
अरे! धन्यवाद, यह बहुत अच्छा लग रहा है, लेकिन मैं इसे टेबल रो या बॉडी जैसे तत्व से बांधने के लिए नहीं कर सकता। यह $ (विंडो) के साथ काम करता है। Im backbone.js का उपयोग करके नई सामग्री आदि के साथ एक क्षेत्र # मेन को पॉप्युलेट करने के लिए
हैरी

84

आप आसानी से बता सकते हैं कि whichमाउस घटनाओं पर इवेंट ऑब्जेक्ट की संपत्ति की जांच करके कौन सा माउस बटन दबाया गया था :

/*
  1 = Left   mouse button
  2 = Centre mouse button
  3 = Right  mouse button
*/

$([selector]).mousedown(function(e) {
    if (e.which === 3) {
        /* Right mouse button was clicked! */
    }
});

3
इसके e.button==2बजाय ऊपर लिंक किया गया jQuery प्लगइन उपयोग कर रहा है ।
ceejayoz

6
हां। event.buttonक्रॉस ब्राउजर का उपयोग करना एक समस्या से अधिक है event.whichक्योंकि बटनों के लिए उपयोग की जाने वाली संख्या event.buttonभिन्न होती है। जनवरी 2009 के इस लेख पर एक नज़र डालें - unixpapa.com/js/mouse.html
Russ Cam

1
क्या mouseupकिसी व्यक्ति को वास्तव में आइटम पर क्लिक करना सत्यापित करना बेहतर नहीं होगा ? अगर मैं गलती से कुछ क्लिक कर रहा हूँ, तो मैं माउस बटन को पकड़ कर और तत्व के बाहर खींचकर रोक सकता हूँ।
क्रिस मैरिसिक

1
@ क्रिसमिसरिक mouseupशायद एक बेहतर घटना है, यह सिर्फ event.whichमाउस बटन क्लिक के लिए उपयोग का एक उदाहरण है
Russ Cam

39

आप भी कर सकते हैं bindकरने के लिए contextmenuऔर return false:

$('selector').bind('contextmenu', function(e){
    e.preventDefault();
    //code
    return false;
});

डेमो: http://jsfiddle.net/maniator/WS9S2/

या आप एक त्वरित प्लगइन बना सकते हैं जो ऐसा ही करता है:

(function( $ ) {
  $.fn.rightClick = function(method) {

    $(this).bind('contextmenu rightclick', function(e){
        e.preventDefault();
        method();
        return false;
    });

  };
})( jQuery );

डेमो: http://jsfiddle.net/maniator/WS9S2/2/


.on(...)JQuery> = 1.7 का उपयोग करना :

$(document).on("contextmenu", "selector", function(e){
    e.preventDefault();
    //code
    return false;
});  //does not have to use `document`, it could be any container element.

डेमो: http://jsfiddle.net/maniator/WS9S2/283/


1
@Raynos हाँ, लेकिन यह एकमात्र तरीका है राइट-क्लिक इवेंट को संभालने के लिए। यदि संदर्भ मेनू अभी भी था, तो आप एक राइट क्लिक पर कुछ भी नहीं कर सकते थे।
नफतली उर्फ ​​नील

1
@ रेयान - ऐसे कई मामले हैं जहां आपकी बात मान्य नहीं है, जैसे कि एक आंतरिक उपकरण का निर्माण, या अपने निजी उपयोग के लिए कुछ कोडिंग करना..मुझे यकीन है कि कुछ और भी हैं
vsync

1
यदि आप वास्तव में चाहते थे कि यह jQuery के ईवेंट हैंडलर (उदाहरण के लिए क्लिक करें) में से एक की तरह कार्य करे, तो उस तरीके के method.call(this, e);बजाय होना चाहिए, इसके लिए सही मान प्राप्त होता है और साथ ही ईवेंट ऑब्जेक्ट को सही तरीके से पास किया है। method();methodthis
जेरेमी टी

@JeremyT जो सच है ... आप किसी भी तरह से कॉलबैक को संभाल सकते हैं ^ _ ^
Naftali उर्फ़ नील

30

$("#element").live('click', function(e) {
  if( (!$.browser.msie && e.button == 0) || ($.browser.msie && e.button == 1) ) {
       alert("Left Button");
    }
    else if(e.button == 2){
       alert("Right Button");
    }
});

चीजों की वर्तमान स्थिति के लिए अपडेट करें:

var $log = $("div.log");
$("div.target").on("mousedown", function() {
  $log.text("Which: " + event.which);
  if (event.which === 1) {
    $(this).removeClass("right middle").addClass("left");
  } else if (event.which === 2) {
    $(this).removeClass("left right").addClass("middle");
  } else if (event.which === 3) {
    $(this).removeClass("left middle").addClass("right");
  }
});
div.target {
  border: 1px solid blue;
  height: 100px;
  width: 100px;
}

div.target.left {
  background-color: #0faf3d;
}

div.target.right {
  background-color: #f093df;
}

div.target.middle {
  background-color: #00afd3;
}

div.log {
  text-align: left;
  color: #f00;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="target"></div>
<div class="log"></div>


1
क्या यह एमएसआई-विशिष्ट है? यानी यह अन्य ब्राउज़रों में पोर्टेबल है?
तारिणी ईस्ट

13
यह विधि अब अनावश्यक है जैसा event.whichकि पेश किया गया है जो क्रॉस ब्राउज़र संगतता को समाप्त करता है।
एकोर्न

8
मुझे घटना पर संदेह है। जो वास्तव में क्रॉस ब्राउज़र की असंगति को समाप्त करता है, लेकिन यह सिर्फ मेरे लिए है।
ड्वाब


15

बहुत अच्छे उत्तर हैं, लेकिन मैं सिर्फ IE9 और IE <9 का उपयोग करते समय एक प्रमुख अंतर पर स्पर्श करना चाहता हूं event.button

event.buttonकोड के लिए पुराने Microsoft विनिर्देश के अनुसार W3C द्वारा उपयोग किए गए लोगों से भिन्न हैं। W3C केवल 3 मामलों पर विचार करता है:

  1. बाईं माउस बटन पर क्लिक किया जाता है - event.button === 1
  2. राइट माउस बटन पर क्लिक किया जाता है - event.button === 3
  3. मध्य माउस बटन पर क्लिक किया जाता है - event.button === 2

पुराने इंटरनेट खोजकर्ताओं में, हालाँकि Microsoft दबाए गए बटन के लिए थोड़ा फ़्लिप कर रहा है और 8 मामले हैं:

  1. कोई बटन क्लिक नहीं किया जाता है - event.button === 0 या 000
  2. बायाँ बटन क्लिक किया जाता है - event.button === 1 या 001
  3. राइट बटन क्लिक किया है - event.button === 2 या 010
  4. बाएँ और दाएँ बटन पर क्लिक किया जाता है - event.button === 3 या 011
  5. मध्य बटन पर क्लिक किया जाता है - event.button === 4 या 100
  6. मध्य और बाएँ बटन पर क्लिक किया जाता है - event.button === 5 या 101
  7. मध्य और दाहिने बटन पर क्लिक किया जाता है - event.button === 6 या 110
  8. सभी 3 बटन क्लिक किए जाते हैं - event.button === 7या 111

इस तथ्य के बावजूद कि यह सैद्धांतिक रूप से है कि इसे कैसे काम करना चाहिए, किसी भी इंटरनेट एक्सप्लोरर ने कभी भी दो या तीन बटन के मामलों को एक साथ दबाया नहीं है। मैं इसका उल्लेख कर रहा हूं क्योंकि W3C मानक भी सैद्धांतिक रूप से इसका समर्थन नहीं कर सकता है।


6
इतना दबाया गया बटन आपको मिलता है event.button === 0जो कोई बटन क्लिक नहीं करता है, शानदार IEಠ_ಠ
Sinan

यह IE के संस्करणों में 9. से कम है
कोन्सटेंटिन दिनेव

यदि डेवलपर्स ने सामूहिक रूप से समर्थन को चुनना बंद कर दिया है, तो लोगों को स्विच करना होगा, और फिर डेवलपर्स को अब समर्थन के बारे में चिंता करने की आवश्यकता नहीं होगी।
अहानिबेकाड

8

यह मुझे लगता है कि TheVillageIdiot के उत्तर का एक हल्का अनुकूलन क्लीनर होगा:

$('#element').bind('click', function(e) {
  if (e.button == 2) {
    alert("Right click");
  }
  else {
    alert("Some other click");
  }
}

संपादित करें: JQuery एक प्रदान करता है e.which विशेषता है, क्रमशः 1, 2, 3 बाएं, मध्य और दाहिने क्लिक के लिए लौटाता है। तो आप भी इस्तेमाल कर सकते हैंif (e.which == 3) { alert("right click"); }

इसे भी देखें: "मध्यम क्लिक का उपयोग करके ऑनकिक घटना को ट्रिगर करना " के जवाब


3

event.which === 1 यह सुनिश्चित करता है कि यह बायाँ-क्लिक (jQuery का उपयोग करते समय) हो।

लेकिन आपको संशोधक कुंजियों के बारे में भी सोचना चाहिए: ctrlcmdshiftalt

यदि आप केवल सरल, अनमॉडिफाइड लेफ्ट-क्लिक पकड़ने में रुचि रखते हैं, तो आप कुछ इस तरह कर सकते हैं:

var isSimpleClick = function (event) {
  return !(
    event.which !== 1 || // not a left click
    event.metaKey ||     // "open link in new tab" (mac)
    event.ctrlKey ||     // "open link in new tab" (windows/linux)
    event.shiftKey ||    // "open link in new window"
    event.altKey         // "save link as"
  );
};

$('a').on('click', function (event) {
  if (isSimpleClick(event)) {
    event.preventDefault();
    // do something...
  }
});

1

यदि आप "बेहतर जावास्क्रिप्ट माउस ईवेंट" की तलाश कर रहे हैं जो अनुमति देता है

  • मूसडाउन छोड़ दिया
  • मिडल मूसडाउन
  • सही मूसडाउन
  • माउसअप छोड़ दिया
  • मध्य माउस
  • सही माउसअप
  • बाया क्लिक
  • मध्य क्लिक करें
  • दाएँ क्लिक करें
  • माउस व्हील अप
  • नीचे से नीचे उतारना

इस क्रॉस ब्राउज़र सामान्य जावास्क्रिप्ट पर एक नज़र डालें जो उपरोक्त घटनाओं को ट्रिगर करता है, और सिरदर्द के काम को हटा देता है। बस इसे अपनी स्क्रिप्ट के प्रमुख में कॉपी और पेस्ट करें, या इसे किसी फ़ाइल में शामिल करें<head> अपने दस्तावेज़ की । फिर अपनी घटनाओं को बांधें, नीचे दिए गए अगले कोड ब्लॉक को देखें, जो घटनाओं को कैप्चर करने और उन्हें सौंपे गए कार्यों को फायर करने का एक jquery उदाहरण दिखाता है, हालांकि यह सामान्य जावास्क्रिप्ट बाइंडिंग के साथ भी काम करता है।

यदि आपकी रुचि इसे देखने में है, तो jsFiddle पर एक नज़र डालें: https://jsfiddle.net/BNefn/

/**
   Better Javascript Mouse Events
   Author: Casey Childers
**/
(function(){
    // use addEvent cross-browser shim: https://gist.github.com/dciccale/5394590/
    var addEvent = function(a,b,c){try{a.addEventListener(b,c,!1)}catch(d){a.attachEvent('on'+b,c)}};

    /* This function detects what mouse button was used, left, right, middle, or middle scroll either direction */
    function GetMouseButton(e) {
        e = window.event || e; // Normalize event variable

        var button = '';
        if (e.type == 'mousedown' || e.type == 'click' || e.type == 'contextmenu' || e.type == 'mouseup') {
            if (e.which == null) {
                button = (e.button < 2) ? "left" : ((e.button == 4) ? "middle" : "right");
            } else {
                button = (e.which < 2) ? "left" : ((e.which == 2) ? "middle" : "right");
            }
        } else {
            var direction = e.detail ? e.detail * (-120) : e.wheelDelta;
            switch (direction) {
                case 120:
                case 240:
                case 360:
                    button = "up";
                break;
                case -120:
                case -240:
                case -360:
                    button = "down";
                break;
            }
        }

        var type = e.type
        if(e.type == 'contextmenu') {type = "click";}
        if(e.type == 'DOMMouseScroll') {type = "mousewheel";}

        switch(button) {
            case 'contextmenu':
            case 'left':
            case 'middle':
            case 'up':
            case 'down':
            case 'right':
                if (document.createEvent) {
                  event = new Event(type+':'+button);
                  e.target.dispatchEvent(event);
                } else {
                  event = document.createEventObject();
                  e.target.fireEvent('on'+type+':'+button, event);
                }
            break;
        }
    }

    addEvent(window, 'mousedown', GetMouseButton);
    addEvent(window, 'mouseup', GetMouseButton);
    addEvent(window, 'click', GetMouseButton);
    addEvent(window, 'contextmenu', GetMouseButton);

    /* One of FireFox's browser versions doesn't recognize mousewheel, we account for that in this line */
    var MouseWheelEvent = (/Firefox/i.test(navigator.userAgent)) ? "DOMMouseScroll" : "mousewheel";
    addEvent(window, MouseWheelEvent, GetMouseButton);
})();

बेहतर माउस क्लिक करें घटना का उदाहरण (सादगी के लिए jquery का उपयोग करता है, लेकिन ऊपर क्रॉस ब्राउज़र काम करेगा और उसी घटना के नामों को आग देगा, IE नामों से पहले उपयोग करता है)

<div id="Test"></div>
<script type="text/javascript">
    $('#Test').on('mouseup',function(e){$(this).append(e.type+'<br />');})
              .on('mouseup:left',function(e){$(this).append(e.type+'<br />');})
              .on('mouseup:middle',function(e){$(this).append(e.type+'<br />');})
              .on('mouseup:right',function(e){$(this).append(e.type+'<br />');})

              .on('click',function(e){$(this).append(e.type+'<br />');})
              .on('click:left',function(e){$(this).append(e.type+'<br />');})
              .on('click:middle',function(e){$(this).append(e.type+'<br />');})
              .on('click:right',function(e){$(this).append(e.type+'<br />');})

              .on('mousedown',function(e){$(this).html('').append(e.type+'<br />');})
              .on('mousedown:left',function(e){$(this).append(e.type+'<br />');})
              .on('mousedown:middle',function(e){$(this).append(e.type+'<br />');})
              .on('mousedown:right',function(e){$(this).append(e.type+'<br />');})

              .on('mousewheel',function(e){$(this).append(e.type+'<br />');})
              .on('mousewheel:up',function(e){$(this).append(e.type+'<br />');})
              .on('mousewheel:down',function(e){$(this).append(e.type+'<br />');})
              ;
</script>

और उन लोगों के लिए जो की की आवश्यकता होती है ...

!function(){function e(e){e=window.event||e;var t="";if("mousedown"==e.type||"click"==e.type||"contextmenu"==e.type||"mouseup"==e.type)t=null==e.which?e.button<2?"left":4==e.button?"middle":"right":e.which<2?"left":2==e.which?"middle":"right";else{var n=e.detail?-120*e.detail:e.wheelDelta;switch(n){case 120:case 240:case 360:t="up";break;case-120:case-240:case-360:t="down"}}var c=e.type;switch("contextmenu"==e.type&&(c="click"),"DOMMouseScroll"==e.type&&(c="mousewheel"),t){case"contextmenu":case"left":case"middle":case"up":case"down":case"right":document.createEvent?(event=new Event(c+":"+t),e.target.dispatchEvent(event)):(event=document.createEventObject(),e.target.fireEvent("on"+c+":"+t,event))}}var t=function(e,t,n){try{e.addEventListener(t,n,!1)}catch(c){e.attachEvent("on"+t,n)}};t(window,"mousedown",e),t(window,"mouseup",e),t(window,"click",e),t(window,"contextmenu",e);var n=/Firefox/i.test(navigator.userAgent)?"DOMMouseScroll":"mousewheel";t(window,n,e)}();

1
$("body").on({
    click: function(){alert("left click");},
    contextmenu: function(){alert("right click");}   
});

आपको संभवतः कुछ विवरण जोड़ना चाहिए कि यह क्यों काम करता है। - मैं मानता हूँ कि यह करता है, लेकिन आप एक n00b को क्यों नहीं समझा रहे हैं।
एडम

0
$(document).ready(function () {
    var resizing = false;
    var frame = $("#frame");
    var origHeightFrame = frame.height();
    var origwidthFrame = frame.width();
    var origPosYGrip = $("#frame-grip").offset().top;
    var origPosXGrip = $("#frame-grip").offset().left;
    var gripHeight = $("#frame-grip").height();
    var gripWidth = $("#frame-grip").width();

    $("#frame-grip").mouseup(function (e) {
        resizing = false;
    });

    $("#frame-grip").mousedown(function (e) {
        resizing = true;
    });
    document.onmousemove = getMousepoints;
    var mousex = 0, mousey = 0, scrollTop = 0, scrollLeft = 0;
    function getMousepoints() {
        if (resizing) {
            var MouseBtnClick = event.which;
            if (MouseBtnClick == 1) {
                scrollTop = document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop;
                scrollLeft = document.documentElement ? document.documentElement.scrollLeft : document.body.scrollLeft;
                mousex = event.clientX + scrollLeft;
                mousey = event.clientY + scrollTop;

                frame.height(mousey);
                frame.width(mousex);
            }
            else {
                resizing = false;
            }
        }
        return true;

    }


});

@ Nitin.Katti: - यह माउस पॉइंट पर काम करता है और बाएँ बटन पर क्लिक करता है यदि माउस के बाएँ बटन को फ़्रीज कर दें तो यह फिर से साइज़ करना बंद कर देता है।
user2335866

0

Jquery के साथ आप उपयोग कर सकते हैं event object type

jQuery(".element").on("click contextmenu", function(e){
   if(e.type == "contextmenu") {
       alert("Right click");
   }
});

0

JQuery के बिना यह करने के लिए एक रास्ता भी है!

इसकी जांच करो:

document.addEventListener("mousedown", function(evt) {
    switch(evt.buttons) {
      case 1: // left mouse
      case 2: // right mouse
      case 3: // middle mouse <- I didn't tested that, I just got a touchpad
    }
});

मध्य माउस मेरे पीसी पर 4 लग रहा था (Ubuntu 14.04 - फ़ायरफ़ॉक्स)। मेरा मानना ​​है कि बाएँ और दाएँ एक साथ 3 और मध्य 4 है .. वहाँ एक बेहतर "क्रॉस ब्राउज़र", "क्रॉस प्लेटफॉर्म" रास्ता होना चाहिए ...
पॉल

0
$.fn.rightclick = function(func){
    $(this).mousedown(function(event){
        if(event.button == 2) {
            var oncontextmenu = document.oncontextmenu;
            document.oncontextmenu = function(){return false;};
            setTimeout(function(){document.oncontextmenu = oncontextmenu;},300);
            func(event);
            return false;
        }
    });
};

$('.item').rightclick(function(e){ 
    alert("item");
}); 

0

उन लोगों के लिए जो वेनिला जेएस या कोणीयevent.which में उपयोग करना चाहिए या नहीं करना चाहते हैं : यह अब पदावनत है इसलिए इसके बजाय उपयोग करना पसंद करते हैं।event.buttons

नोट: इस विधि और (मूसडाउन) घटना के साथ:

  • लेफ्ट क्लिक प्रेस 1 से जुड़ा है
  • राइट क्लिक प्रेस 2 से संबंधित है
  • स्क्रॉल बटन प्रेस 4 से जुड़ा है

और (mouseup) घटना होगा नहीं एक ही संख्या लेकिन लौट 0 बजाय।

स्रोत: https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons


-1
    $.event.special.rightclick = {
     bindType: "contextmenu",
        delegateType: "contextmenu"
      };

   $(document).on("rightclick", "div", function() {
   console.log("hello");
    return false;
    });

1
नमस्ते। यह उत्तर हटाए जाने के लिए निम्न गुणवत्ता के रूप में चिह्नित किया जा रहा है। ऐसा लगता है कि आपने कुछ समय पहले पूछे गए प्रश्न का उत्तर जोड़ा है। जब तक कि उत्तर में कोई स्पष्टीकरण न हो, जो बताता है कि यह योगदान स्वीकार किए गए उत्तर को कैसे बेहतर बनाता है, तो मैं भी हटाने के लिए मतदान करने के लिए इच्छुक हूं।
Popnoodles

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