2013-01-18 15 views
5

ठीक है के लिए यहाँ jsfiddle उदाहरण बाध्यकारी नहीं हैJquery घटना पर गैर मौजूदा तत्वों

http://jsfiddle.net/HTjCT/1/

आप आप देख सकते हैं जब आप मंडराना यह माउसओवर घटना

फायरिंग नहीं है मैं यह कैसे हल कर सकते हैं मुसीबत ?

मैं jQuery 1,9

<div id='superdiv'>Click Me</div> 


$(function() { 
    $('#superdiv').on('click', function (event) { 
     $('body').append('<div id="super">another'); 
    }); 
    $('#super').on('mouseover', function (event) { 
     alert('not working'); 
    }); 
}); 

जावास्क्रिप्ट का उपयोग कर रहा

उत्तर

9

आप ("लाइव" की आपूर्ति करने), "प्रतिनिधि" का उपयोग करने के लिए इस तरह की है $('body').on('mouseover', '#super', function (event) {

+0

:) – MonsterMMORPG

+8

काम कर रहे इस जबकि सही है, करने के लिए अपने सभी ईवेंट हैंडलर्स संलग्न शुरू नहीं करते कृपया धन्यवाद नहीं कर सकता तन। इवेंट प्रतिनिधि प्रत्येक * घटना को कैप्चर करके काम करता है जो बुलबुला करता है और उसके बाद स्रोत तत्व का निरीक्षण करता है यह देखने के लिए कि क्या यह ब्याज के तत्व से मेल खाता है ('# super')। इसलिए जब भी आप पेज पर ** कुछ भी ** माउसओवर करते हैं तो आप यह जांचने के लिए हिट कर रहे हैं कि वह तत्व मेल खाता है या नहीं। अपने प्रतिनिधियों को स्रोत के रूप में यथासंभव स्थानीय रखें, और हर बार – WickyNilliams

+0

पर शरीर से चिपके रहने के बजाय आपको बेहतर प्रदर्शन मिलेगा, यह बिल्कुल सही है, यह सिर्फ उदाहरण के लिए प्रतिनिधि दिखाने के लिए था। –

-1

div आप onclick बनाना चाहते हैं, '</div>' टैग के साथ बंद नहीं है।

क्या होगा यदि आप निम्नलिखित कोड का प्रयास करें:

$(function() { 
    $('#superdiv').on('click', function (event) { 
     $('body').append(
      $('<div/>',{ 'id' : 'super', 'text' : 'tetet'}).mouseover(function(event) { 
        alert('test'); 
      }) 
     ); 
    }); 
}); 
+0

लेकिन अभी भी अंतर :) http://jsfiddle.net/HTjCT/5/ – MonsterMMORPG

0

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

$(function() { 
    $('#superdiv').on('click', function (event) { 
     $('body').append('<div id="super">another'); 
     mouse(); 
    }); 
    function mouse() { 
     $('#super').on('mouseover', function (event) { 
      alert('not working'); 
     }); 
    }); 
    mouse(); 
} 
तु
संबंधित मुद्दे