जावास्क्रिप्ट में लंबी प्रेस?


117

क्या जावास्क्रिप्ट (या jQuery) में "लंबी प्रेस" को लागू करना संभव है? कैसे?

वैकल्पिक शब्द
(स्रोत: androinica.com )

एचटीएमएल

<a href="" title="">Long press</a>

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

$("a").mouseup(function(){
  // Clear timeout
  return false;
}).mousedown(function(){
  // Set timeout
  return false; 
});

7
मैं शायद आधार के रूप में आपके कोड का उपयोग करके कस्टम jQuery ईवेंट jQuery(...).longclick(function() { ... });
बनाऊंगा

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

जवाबों:


159

कोई 'jQuery' जादू नहीं है, बस जावास्क्रिप्ट टाइमर।

var pressTimer;

$("a").mouseup(function(){
  clearTimeout(pressTimer);
  // Clear timeout
  return false;
}).mousedown(function(){
  // Set timeout
  pressTimer = window.setTimeout(function() { ... Your Code ...},1000);
  return false; 
});

39
इस आग पर एक खींचें के रूप में अच्छी तरह से नहीं होगा?
गैलल

11
मुमकिन है यह काफी फोन करके कि करने के लिए देखने के लिए आसान होगा @Gallal clearTimeout(pressTimer)पर mousemove, जब तक मैं कुछ याद कर रहा हूँ। जो कि वास्तव में शायद ही कोई होगा।
डेविड जॉन वेल्श

5
@DavidJohnWelsh बस मैं क्या देख रहा था, आप सिर्फ माउस ले जाना नहीं चाहते हैं - आप उंगली को पकड़कर स्थिर हैं और 1px नहीं हिलना काफी कठिन है! आपको एक सीमा लागू करने की आवश्यकता है (यदि माउस 10px नहीं चला है) आदि बहुत जल्दी जटिल हो जाता है!
इयान

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

4
हालांकि यह चयनित उत्तर है, यह वास्तव में प्रश्न का उत्तर नहीं दे रहा है। यह अत्यधिक सरल और भोला है। किसी भी लंबी प्रेस घटना को कई मुद्दों को संबोधित करना चाहिए जो इस उत्तर की उपेक्षा करता है। 1) मल्टी टच से इशारे से ड्रैग से लंबा प्रेस (यानी पिंच ज़ूम इन या आउट) 2) रद्द करें यदि तत्व या ब्राउज़र एरिया से बाहर मूवमेंट 3) प्लेटफॉर्म और डिवाइसेज़ की महत्वपूर्ण संख्या पर टेक्स्ट सेलेक्शन का डिफॉल्ट बिहेवियर 4) संवेदनशीलता के लिए एक विन्यास योग्य थ्रेडहोल्ड और जादू की संख्या पर भरोसा नहीं है। के लिए विशेष रूप से उपयोगी है - लेकिन विशेष नहीं - पहुँच संबंधी चिंताएँ।

34

Maycow Moura के उत्तर के आधार पर, मैंने यह लिखा था। यह भी सुनिश्चित करता है कि उपयोगकर्ता ने एक सही क्लिक नहीं किया, जो एक लंबे प्रेस को ट्रिगर करेगा और मोबाइल उपकरणों पर काम करेगा। डेमो

var node = document.getElementsByTagName("p")[0];
var longpress = false;
var presstimer = null;
var longtarget = null;

var cancel = function(e) {
    if (presstimer !== null) {
        clearTimeout(presstimer);
        presstimer = null;
    }

    this.classList.remove("longpress");
};

var click = function(e) {
    if (presstimer !== null) {
        clearTimeout(presstimer);
        presstimer = null;
    }

    this.classList.remove("longpress");

    if (longpress) {
        return false;
    }

    alert("press");
};

var start = function(e) {
    console.log(e);

    if (e.type === "click" && e.button !== 0) {
        return;
    }

    longpress = false;

    this.classList.add("longpress");

    if (presstimer === null) {
        presstimer = setTimeout(function() {
            alert("long click");
            longpress = true;
        }, 1000);
    }

    return false;
};

node.addEventListener("mousedown", start);
node.addEventListener("touchstart", start);
node.addEventListener("click", click);
node.addEventListener("mouseout", cancel);
node.addEventListener("touchend", cancel);
node.addEventListener("touchleave", cancel);
node.addEventListener("touchcancel", cancel);

आपको सीएसएस एनिमेशन का उपयोग करते हुए कुछ संकेतक भी शामिल करना चाहिए:

p {
    background: red;
    padding: 100px;
}

.longpress {
    -webkit-animation: 1s longpress;
            animation: 1s longpress;
}

@-webkit-keyframes longpress {
    0%, 20% { background: red; }
    100% { background: yellow; }
}

@keyframes longpress {
    0%, 20% { background: red; }
    100% { background: yellow; }
}

मैंने इस संशोधित संस्करण को बनाया है, जबकि लगातार कुछ करने के लिए बटन को jsfiddle नीचे रखा जाता है, लेकिन किसी कारण से Android पर यह तब भी चलता है जब आप + बटन को छूने से रोकते हैं ...
Xander

@Xander: हो सकता है क्योंकि :hoverराज्य स्पर्श उपकरणों पर चिपचिपा है, शायद यहां भी लागू होता है।
केलुनिक

डांग, मुझे आश्चर्य है कि अगर मोबाइल साइट पर काम करने का कोई तरीका है - / + संख्या वृद्धि बटन जो लंबे प्रेस का समर्थन करते हैं। मुझे लगता है कि हर विधि बार-बार क्लिक करने के लिए समर्थन करती है जो कि बड़ी संख्या के लिए एक दर्द है। हालांकि धन्यवाद!
Xander

@Xander: वास्तव में, touchendIMO में आग लगनी चाहिए, जब यह स्पर्श उपकरणों के लिए विशेष कोड है, तो यह चिपचिपा होने का कोई कारण नहीं है, शायद मैं कल कुछ कोशिश करूंगा।
kelunik

1
Android पर समस्या का पता लगाया। दोनों मूसडाउन और टचस्टार्ट को दबाते हुए फायरिंग होती है, क्योंकि इसमें 2 टाइमर चल रहे थे, लेकिन केवल 1 को आपकी उंगली उठाकर रद्द किया जा रहा था। सुनिश्चित करने के लिए कि (प्रेस्टीमर === नल) के साथ प्रेस्टीमर को लपेटा गया है, यह सुनिश्चित करने के लिए कि टाइमर पहले से ही सक्रिय नहीं था।
Xander


16

मैंने इसे हल करने के लिए लंबे समय से प्रेस-ईवेंट (0.5k शुद्ध जावास्क्रिप्ट) बनाया , यह एक long-pressईवेंट को DOM में जोड़ता है ।

एक के लिए सुनो long-pressपर किसी भी तत्व:

// the event bubbles, so you can listen at the root level
document.addEventListener('long-press', function(e) {
  console.log(e.target);
});

long-pressएक विशिष्ट तत्व के लिए सुनो :

// get the element
var el = document.getElementById('idOfElement');

// add a long-press event listener
el.addEventListener('long-press', function(e) {

    // stop the event from bubbling up
    e.preventDefault()

    console.log(e.target);
});

IE9 +, क्रोम, फ़ायरफ़ॉक्स, सफारी और हाइब्रिड मोबाइल एप्लिकेशन (iOS / Android पर कॉर्डोवा और आयोनिक) में काम करता है

डेमो


2
उल्लू, दोस्त !!
जेफ टी।

1
यह समाधान बंदर कुछ हद तक बेतरतीब, अधूरा और गैर-मानक तरीके से खिड़की को अनुकूलित करता है। यह केवल पठन-पाठन के रूप में केवल-पढ़ने के गुणों को ही नहीं बनाता है, बल्कि केवल पढ़ने-लिखने के लिए ही होता है। यह विशेष रूप से अनुपलब्ध रिटर्नवैल्यू, टाइप, टाइमस्टैम्प और आइसट्रेड है। यह ड्रैग, जेस्चर, पिंच ज़ूम इन या आउट, या लॉन्ग प्रेस के मल्टी-टच मिसफायर को संबोधित नहीं करता है, और न ही यह बड़ी संख्या में उपकरणों और / या प्लेटफार्मों के मुद्दे को संबोधित करता है जो 500ms पर भी पाठ चयन के लिए लंबे प्रेस को डिफ़ॉल्ट करते हैं। पुस्तकालय इन स्थितियों के लिए किसी भी और सभी परीक्षण मामलों को याद कर रहा है।

4
यह ओपन सोर्स है, प्रोजेक्ट में योगदान देने के लिए स्वतंत्र महसूस करें :)
जॉन डोहर्टी

@ जॉनहोत्री महान! लेकिन क्या हम अभी भी उसी तत्व के साथ "onClick" का उपयोग कर सकते हैं?
देवाशीष

2
आपको अभी भी 'ऑनक्लिक' घटना मिलनी चाहिए, जब तक कि लंबे प्रेस को 'लॉन्ग-प्रेस-डिले' 'टाइमर किक्स
जॉन डोहर्टी

15

हालांकि यह एक टाइमआउट और माउस इवेंट हैंडलर्स के एक जोड़े के साथ अपने दम पर लागू करने के लिए काफी सरल लगता है, यह एक और अधिक जटिल हो जाता है जब आप क्लिक-ड्रैग-रिलीज जैसे मामलों पर विचार करते हैं, एक ही तत्व पर प्रेस और लंबे समय से प्रेस दोनों का समर्थन करते हैं , और iPad जैसे स्पर्श उपकरणों के साथ काम कर रहे हैं। मैंने longclick jQuery प्लगइन का उपयोग करके समाप्त किया ( Github ) , जो मेरे लिए उस सामान का ख्याल रखता है। यदि आपको केवल मोबाइल फोन जैसे टचस्क्रीन उपकरणों का समर्थन करने की आवश्यकता है, तो आप jQuery मोबाइल टैपहोल्ड इवेंट भी आज़मा सकते हैं ।


Github लिंक काम करता है, लेकिन परियोजना 2010 से अपडेट नहीं की गई है और वर्तमान jquery संस्करणों के साथ काम नहीं करती है। हालाँकि, हैंडल को बदलना। डिस्पैच के साथ स्रोत कोड में इसे ठीक करता है।
अर्लोमेडिया

11

jQuery प्लगइन। बस डाल दिया $(expression).longClick(function() { <your code here> });। दूसरा पैरामीटर होल्ड अवधि है; डिफ़ॉल्ट टाइमआउट 500 एमएस है।

(function($) {
    $.fn.longClick = function(callback, timeout) {
        var timer;
        timeout = timeout || 500;
        $(this).mousedown(function() {
            timer = setTimeout(function() { callback(); }, timeout);
            return false;
        });
        $(document).mouseup(function() {
            clearTimeout(timer);
            return false;
        });
    };

})(jQuery);

यह कॉल में बरकरार नहीं है।
चैंपियन

hi भाई हम इसे एक रीढ़ की घटना के रूप में उपयोग कर सकते हैं
user2075328

6

क्रॉस प्लेटफ़ॉर्म डेवलपर्स के लिए (नोट अब तक दिए गए सभी उत्तर iOS पर काम नहीं करेंगे) :

माउसअप / डाउन एंड्रॉइड पर ठीक काम करने लगता था - लेकिन सभी डिवाइस (यानी सैमसंग टैब 4) नहीं। IOS पर बिल्कुल काम नहीं किया ।

इसके अलावा शोध से ऐसा लगता है कि यह तत्व के चयन के कारण है और देशी आवर्धन श्रोता को बाधित करता है।

यह ईवेंट श्रोता एक थंबनेल छवि को बूटस्ट्रैप मोडल में खोलने में सक्षम बनाता है, यदि उपयोगकर्ता 500ms के लिए छवि रखता है।

यह एक उत्तरदायी छवि वर्ग का उपयोग करता है इसलिए छवि का एक बड़ा संस्करण दिखा रहा है। इस कोड का पूरी तरह से परीक्षण किया गया है (iPad / Tab4 / TabA / Galaxy4):

var pressTimer;  
$(".thumbnail").on('touchend', function (e) {
   clearTimeout(pressTimer);
}).on('touchstart', function (e) {
   var target = $(e.currentTarget);
   var imagePath = target.find('img').attr('src');
   var title = target.find('.myCaption:visible').first().text();
   $('#dds-modal-title').text(title);
   $('#dds-modal-img').attr('src', imagePath);
   // Set timeout
   pressTimer = window.setTimeout(function () {
      $('#dds-modal').modal('show');
   }, 500)
});

iOS के लिए अच्छा समाधान
eric xu

मैं थंबनेल पर शुरू होने वाले स्पर्शों को कैसे रोकूंगा, लेकिन कहते हैं कि एक स्क्रॉल होने के नाते अंत है। दूसरे शब्दों में, एक टचस्टार्ट / जगह में अंत नहीं है, लेकिन एक स्पर्श जो हैंडलर के साथ तत्व पर शुरू हुआ है, लेकिन एक स्क्रॉल होने पर समाप्त होता है
अकिन ह्वेन

5
$(document).ready(function () {
    var longpress = false;

    $("button").on('click', function () {
        (longpress) ? alert("Long Press") : alert("Short Press");
    });

    var startTime, endTime;
    $("button").on('mousedown', function () {
        startTime = new Date().getTime();
    });

    $("button").on('mouseup', function () {
        endTime = new Date().getTime();
        longpress = (endTime - startTime < 500) ? false : true;
    });
});

डेमो


2
यह कोड 500ms के अंत में नहीं लगाया गया है। उपयोगकर्ता माउस पर क्लिक करके मर सकता है :)। यदि उपयोगकर्ता बटन पर क्लिक करना बंद कर देता है तो लंबी क्लिक को निकाल दिया जाता है।
जेडी

क्या इस मामले को कवर किया जाएगा जब एक उपयोगकर्ता ने उसी स्थान पर अपने लॉन्गप्रेस को खत्म करने के बजाय स्क्रॉल करना शुरू किया हो?
अकिन ह्वेन

@AkinHwan नहीं, यह केवल तभी चालू होगा जब माउस क्लिक एक ही तत्व पर जारी किया गया था।
razz

4

डायोडस का जवाब बहुत बढ़िया है, लेकिन यह आपको ऑनक्लिक फ़ंक्शन को जोड़ने से रोकता है, अगर आप ऑनक्लिक डालते हैं तो यह कभी भी फ़ंक्शन को नहीं चलाएगा। और रज्जाक का जवाब लगभग सही है, लेकिन यह केवल माउसअप पर होल्ड फ़ंक्शन को चलाता है, और आमतौर पर, फ़ंक्शन तब भी चलता है, जब उपयोगकर्ता पकड़ रखता है।

इसलिए, मैंने दोनों को शामिल किया, और इसे बनाया:

$(element).on('click', function () {
    if(longpress) { // if detect hold, stop onclick function
        return false;
    };
});

$(element).on('mousedown', function () {
    longpress = false; //longpress is false initially
    pressTimer = window.setTimeout(function(){
    // your code here

    longpress = true; //if run hold function, longpress is true
    },1000)
});

$(element).on('mouseup', function () {
    clearTimeout(pressTimer); //clear time on mouseup
});

क्या होगा अगर उपयोगकर्ता मूसडाउन के बाद स्क्रॉल करना शुरू कर दे, और एक longpress करने का इरादा नहीं था
अकिन ह्वेन


2

आप माउस पर उस तत्व के लिए टाइमआउट सेट कर सकते हैं और इसे माउस पर साफ़ कर सकते हैं:

$("a").mousedown(function() {
    // set timeout for this element
    var timeout = window.setTimeout(function() { /* … */ }, 1234);
    $(this).mouseup(function() {
        // clear timeout for this element
        window.clearTimeout(timeout);
        // reset mouse up event handler
        $(this).unbind("mouseup");
        return false;
    });
    return false;
});

इसके साथ प्रत्येक तत्व का अपना समयबाह्य हो जाता है।


1
$(this).mouseup(function(){});ईवेंट हैंडलर को नहीं हटाता है, यह एक और जोड़ता है। .unbindइसके बजाय उपयोग करें ।
मैटी विर्ककुनेन

off()unbind के बजाय अब उपयोग करना चाहिए ।
dbinott

1

आप jquery-mobile के टैपहोल्ड का उपयोग कर सकते हैं। Jquery-mobile.js शामिल करें और निम्न कोड ठीक काम करेगा

$(document).on("pagecreate","#pagename",function(){
  $("p").on("taphold",function(){
   $(this).hide(); //your code
  });    
});

यह स्वीकार किए जाने वाला उत्तर होना चाहिए क्योंकि jquery-mobile एक अच्छा स्थिर ढांचा प्रदान करता है
pasx

1

सबसे सुंदर और साफ एक jQuery प्लगइन है: https://github.com/untill/jquery.longclick/ , यह भी packacke के रूप में उपलब्ध है: https://www.npmjs.com/package/jquery.longclick

संक्षेप में, आप इसका उपयोग इस तरह करते हैं:

$( 'button').mayTriggerLongClicks().on( 'longClick', function() { your code here } );

इस प्लगइन का लाभ यह है कि, यहां कुछ अन्य उत्तरों के विपरीत, क्लिक इवेंट अभी भी संभव हैं। ध्यान दें कि माउसअप से पहले, एक डिवाइस पर एक लंबे टैप की तरह, एक लंबा क्लिक होता है। तो, यह एक सुविधा है।


0

मेरे लिए यह उस कोड के साथ काम कर रहा है (jQuery के साथ):

var int       = null,
    fired     = false;

var longclickFilm = function($t) {
        $body.css('background', 'red');
    },
    clickFilm = function($t) {
        $t  = $t.clone(false, false);
        var $to = $('footer > div:first');
        $to.find('.empty').remove();
        $t.appendTo($to);
    },
    touchStartFilm = function(event) {
        event.preventDefault();
        fired     = false;
        int       = setTimeout(function($t) {
            longclickFilm($t);
            fired = true;
        }, 2000, $(this)); // 2 sec for long click ?
        return false;
    },
    touchEndFilm = function(event) {
        event.preventDefault();
        clearTimeout(int);
        if (fired) return false;
        else  clickFilm($(this));
        return false;
    };

$('ul#thelist .thumbBox')
    .live('mousedown touchstart', touchStartFilm)
    .live('mouseup touchend touchcancel', touchEndFilm);

0

आप क्लिक या लॉन्ग प्रेस [jQuery] की पहचान करने के लिए समय की जाँच कर सकते हैं

function AddButtonEventListener() {
try {
    var mousedowntime;
    var presstime;
    $("button[id$='" + buttonID + "']").mousedown(function() {
        var d = new Date();
        mousedowntime = d.getTime();
    });
    $("button[id$='" + buttonID + "']").mouseup(function() {
        var d = new Date();
        presstime = d.getTime() - mousedowntime;
        if (presstime > 999/*You can decide the time*/) {
            //Do_Action_Long_Press_Event();
        }
        else {
            //Do_Action_Click_Event();
        }
    });
}
catch (err) {
    alert(err.message);
}
} 


0

आप jqueryटच ईवेंट का उपयोग कर सकते हैं । ( यहां देखें )

  let holdBtn = $('#holdBtn')
  let holdDuration = 1000
  let holdTimer

  holdBtn.on('touchend', function () {
    // finish hold
  });
  holdBtn.on('touchstart', function () {
    // start hold
    holdTimer = setTimeout(function() {
      //action after certain time of hold
    }, holdDuration );
  });

0

मुझे लॉन्गप्रेस कीबोर्ड इवेंट के लिए कुछ चाहिए था, इसलिए मैंने यह लिखा।

var longpressKeys = [13];
var longpressTimeout = 1500;
var longpressActive = false;
var longpressFunc = null;

document.addEventListener('keydown', function(e) {
    if (longpressFunc == null && longpressKeys.indexOf(e.keyCode) > -1) {
        longpressFunc = setTimeout(function() {
            console.log('longpress triggered');
            longpressActive = true;
        }, longpressTimeout);

    // any key not defined as a longpress
    } else if (longpressKeys.indexOf(e.keyCode) == -1) {
        console.log('shortpress triggered');
    }
});

document.addEventListener('keyup', function(e) {
    clearTimeout(longpressFunc);
    longpressFunc = null;

    // longpress key triggered as a shortpress
    if (!longpressActive && longpressKeys.indexOf(e.keyCode) > -1) {
        console.log('shortpress triggered');
    }
    longpressActive = false;
});

0

मुझे लगता है कि यह आपकी मदद कर सकता है:

var image_save_msg = 'You Can Not Save images!';
var no_menu_msg = 'Context Menu disabled!';
var smessage = "Content is protected !!";

function disableEnterKey(e) {
    if (e.ctrlKey) {
        var key;
        if (window.event)
            key = window.event.keyCode; //IE
        else
            key = e.which; //firefox (97)
        //if (key != 17) alert(key);
        if (key == 97 || key == 65 || key == 67 || key == 99 || key == 88 || key == 120 || key == 26 || key == 85 || key == 86 || key == 83 || key == 43) {
            show_wpcp_message('You are not allowed to copy content or view source');
            return false;
        } else
            return true;
    }
}

function disable_copy(e) {
    var elemtype = e.target.nodeName;
    var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);
    elemtype = elemtype.toUpperCase();
    var checker_IMG = '';
    if (elemtype == "IMG" && checker_IMG == 'checked' && e.detail >= 2) {
        show_wpcp_message(alertMsg_IMG);
        return false;
    }
    if (elemtype != "TEXT" && elemtype != "TEXTAREA" && elemtype != "INPUT" && elemtype != "PASSWORD" && elemtype != "SELECT" && elemtype != "OPTION" && elemtype != "EMBED") {
        if (smessage !== "" && e.detail == 2)
            show_wpcp_message(smessage);

        if (isSafari)
            return true;
        else
            return false;
    }
}

function disable_copy_ie() {
    var elemtype = window.event.srcElement.nodeName;
    elemtype = elemtype.toUpperCase();
    if (elemtype == "IMG") {
        show_wpcp_message(alertMsg_IMG);
        return false;
    }
    if (elemtype != "TEXT" && elemtype != "TEXTAREA" && elemtype != "INPUT" && elemtype != "PASSWORD" && elemtype != "SELECT" && elemtype != "OPTION" && elemtype != "EMBED") {
        //alert(navigator.userAgent.indexOf('MSIE'));
        //if (smessage !== "") show_wpcp_message(smessage);
        return false;
    }
}

function reEnable() {
    return true;
}
document.onkeydown = disableEnterKey;
document.onselectstart = disable_copy_ie;
if (navigator.userAgent.indexOf('MSIE') == -1) {
    document.onmousedown = disable_copy;
    document.onclick = reEnable;
}

function disableSelection(target) {
    //For IE This code will work
    if (typeof target.onselectstart != "undefined")
        target.onselectstart = disable_copy_ie;

    //For Firefox This code will work
    else if (typeof target.style.MozUserSelect != "undefined") {
        target.style.MozUserSelect = "none";
    }

    //All other  (ie: Opera) This code will work
    else
        target.onmousedown = function() {
            return false
        }
    target.style.cursor = "default";
}
// on_body_load

window.onload = function() {
    disableSelection(document.body);
};



// disable_Right_Click



document.ondragstart = function() {
    return false;
}

function nocontext(e) {
    return false;
}
document.oncontextmenu = nocontext;

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