2011-05-02 16 views
8

एक jQuery-मोबाइल आधारित वेब अनुप्रयोग, मैं कैसे .. पर "नल पकड़" दिखा बजाय मैं एक कस्टम संवाद पेज दिखाना चाहते हैं से डिफ़ॉल्ट ब्राउज़र मेनू रोकूँ में ..रोकें ब्राउज़र पॉप

नीचे उल्लेख मेरी कोड अब तक है ..

$(".task_row").bind('taphold',function(event, ui){ 
    event.preventDefault(); 
    $("#slide_down_menu").trigger('click'); 
}); 
+2

नहीं दिखाने के लिए आप सुनिश्चित हैं कि यह एक rightclick मेनू नहीं है? क्या ब्राउज़र? 'contextmenu' ईवेंट और' .preventDefault(); झूठी वापसी को सुनने का प्रयास करें; ' – naugtur

उत्तर

0

ontouchstart घटना का उपयोग कर के बारे में क्या? मुझे पूरा यकीन है कि मैंने डिफ़ॉल्ट आईपैड इंटरैक्शन को होने से रोकने के लिए इसका इस्तेमाल किया है।

$(".task_row").bind('touchstart', function(event, ui){ 
    event.preventDefault(); 
    $("#slide_down_menu").trigger('click'); 
}); 
0

आप इसके साथ बहुत करीबी थे। सही कोड है:

$('#ciytList li a ').bind('taphold', function(e) { 
    e.preventDefault(); 
    return false; 
}); 
+0

पर, यह काम नहीं करता है। एंड्रॉइड पर, कम से कम। – matteo

1

दिक्कत यह है कि 'taphold' घटना है कि आप के लिए बाध्य कर रहे हैं कि jQuery मोबाइल से शुरू हो रहा एक कस्टम घटना है, इसलिए यह एक ही घटना है कि ब्राउज़र की डिफ़ॉल्ट व्यवहार से चलाता नहीं है ।

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

0

मैं सिर्फ कड़ी दूर ले गया और यह एक तरह लग रहे बनाने के लिए सीएसएस आवेदन किया है और इस

$.mobile.changePage("#main", { transition: "slideup"});

इस्तेमाल किया, लेकिन मैं पहले से ही यह एक क्लिक घटना है कि एक हटाएँ बटन से पता चलता करने के लिए बाध्य किया था ... कोई अधिक पॉपअप मेनू

0

मुझे पता चला कि आपको राइट-क्लिक अक्षम करना है।

$(function(){ 

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

    $(document).mousedown(function(e){ 

     if (e.button == 2) 
     { 
      alert('Right mouse button!'); 
      return false; 
     } 

     return true; 
    }); 
}); 
10

उपयोग सीएसएस:

a { 
    -webkit-touch-callout: none !important; 
} 

मानक संवाद

+0

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

+0

आईओएस पर बहुत अच्छा काम करता है क्या कोई एंड्रॉइड समतुल्य जानता है? – JonWells

+2

क्रोम का उपयोग कर एंड्रॉइड 4.0.3 पर मेरे लिए काम नहीं किया –

संबंधित मुद्दे