2013-04-29 9 views
5

मैं कोणीय-जेएस का उपयोग करते समय फोनगैप की अधिसूचना.confirm को बुला रहा हूं।अधिसूचना.कॉन्फर्म कॉलबैक फ़ंक्शन हमेशा

ng-click= func(item) 

$scope.func = function(item) { 
navigator.notification.confirm('Delete?', func2(item)); 
} 

function func2 (item) { 
console.log("Ohk call"); 
} 

मैं केवल जब उपयोगकर्ता की पुष्टि बॉक्स पर पुष्टि बटन दबाता है func2 कहा जा करना चाहते हैं:

मैं के रूप में कोड की है। लेकिन क्या होता है कि जैसे ही अधिसूचना किसी भी बटन के क्लिक के बिना प्रकट होती है। इसे कैसे हल करें?

+0

कृपया एनजी-क्लिक के साथ सटीक एचटीएमएल टुकड़ा प्रदान करें। – Yaroslav

उत्तर

8

यहाँ यह करने के लिए सही ans है:

$scope.func= function (item) { 
     navigator.notification.confirm('Delete?', function(button) { 
      if (button == 1) { 
       func2(item); 
      } 
     }); 
    }; 

बटन का मूल्य 1/2 आधारित बटनों में से जो की, 'पुष्टि करें'/'रद्द करें' क्लिक किया जाता है है। मेरे मामले में 'पुष्टिकरण' बटन का मूल्य 1 था और इसलिए समानता जांच।

2

ऐसा इसलिए है क्योंकि आप पहले से ही func के अंदर फ़ंक्शन func2 का आह्वान कर रहे हैं। तुम बस एक तर्क के रूप में एक समारोह पारित करने के लिए की जरूरत है, यह फोन नहीं:

$scope.func = function(item) { 
    navigator.notification.confirm('Delete?', function() { 
     func2(item) 
    }); 
} 

इस तरह समारोह केवल लागू किया जाएगा जब आप अधिसूचना की पुष्टि करें।

+0

काम चमत्कार! बहुत बहुत धन्यवाद .. :) –

+0

अरे यह काम नहीं करता है ... जब मैं रद्द बटन पर क्लिक करता हूं तो फ़ंक्शन func2 भी कॉल किया जाता है –

+0

हमें अपना नया कोड दिखाएं! –

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