2012-02-05 22 views
6

मेरे पास input टेक्स्ट फ़ील्ड है जो एक jQuery फ़ंक्शन का उपयोग कर छवि के यूआरएल से भरा हुआ है। jQuery फ़ंक्शन चलाने के लिए input के "ऑन चेंज" ईवेंट का उपयोग कैसे करूं?jQuery ट्रिगर ऑन चेंज

+0

आप में एक हैश (#) का उपयोग कर रहे है यूआरएल? –

+0

यूआरएल – user1018809

+0

में कोई हैश तो यूआरएल कैसा दिखता है? मुझे लगता है कि मैं आपके लिए कुछ लिख सकता हूं, लेकिन मैं आप जो चाहते हैं उसके बारे में उलझन में हूं। क्या आप इसे चैट करने के लिए ले जाना चाहते हैं? –

उत्तर

6

आप जावास्क्रिप्ट द्वारा क्षेत्र अपडेट करते हैं, मूल्य बदलने के बाद से सिर्फ उस पर फोन change()

$('#myId').val('new_url').change(); 
+0

ने यह भी कोशिश की लेकिन अगर फ़ील्ड को अन्य स्क्रिप्ट द्वारा अपडेट किया गया है तो अपडेट न करें – user1018809

6

इस प्रयास करें:

$("#myId").trigger('event_name') 

जहां event_name है घटना है कि आप अपने चेकर समारोह के लिए बाध्य कर दिया है, जैसे कि कुंजीअप या

6

इसे आजमाएं -

$('#myId').trigger('change'); 

इसे किसी भी फ़ंक्शन में रखें जहां आप टेक्स्टबॉक्स में यूआरएल बदल रहे हैं।

0

मैं कल्पना नहीं कर सकता कि समस्या .change() शायद आपके कोड में कहीं और है, मैंने अभी परीक्षण किया है और अगर मैं कॉपी और पेस्ट करता हूं तो ईवेंट निकाल दिया जाएगा, या यदि मैं कुछ नया टेक्स्ट टाइप करता हूं (सामान्य और ऑनस्क्रीन दोनों के साथ) कुंजीपटल)।

एकमात्र समय यह ट्रिगर प्रतीत नहीं होता था जब मैंने डेस्कटॉप से ​​इनपुट बॉक्स में कुछ टेक्स्ट क्लिपिंग खींचा था, लेकिन इसे हाइलाइट किया गया था और यह सुनिश्चित करना था कि जब इनपुट बॉक्स खो गया तो ईवेंट ट्रिगर हो गया (मैं किसी भी अन्य उपयोग के मामलों)

आप blur() या focusout() घटना जो अनिवार्य रूप से मेरा मानना ​​है कि का उपयोग कर नीचे की तरह कुछ कर सकते हैं के बारे में सोच नहीं कर सकते change घटना

function foo(e) { 
    alert(e.type + ' triggered'); 
} 

$('input').blur(function(e) { 
    $t = $(this); 
    if ($t.data('oVal') != $t.val()) { 
     $t.data('oVal', $t.val()); 
     foo(e); 
    } 
}) 
संबंधित मुद्दे