JQuery 1.7 වන විට ඔබ jQuery.fn.on
පුරවා ඇති තේරීම් පරාමිතිය සමඟ භාවිතා කළ යුතුය :
$(staticAncestors).on(eventName, dynamicChild, function() {});
පැහැදිලි කිරීම:
මෙය සිදුවීම් නියෝජිත කණ්ඩායම ලෙස හැඳින්වෙන අතර පහත පරිදි ක්රියා කරයි. සිද්ධිය staticAncestors
හැසිරවිය යුතු මූලද්රව්යයේ ස්ථිතික මාපිය ( ) සමඟ අමුණා ඇත. මෙම මූලද්රව්යය හෝ පැවත එන මූලද්රව්යයන්ගෙන් සිදුවීමක් අවුලුවන සෑම අවස්ථාවකම මෙම jQuery හසුරුවන්නා අවුලුවන. සිදුවීම අවුලුවන මූලද්රව්යය ඔබේ තේරීම් කාරකයට ( dynamicChild
) ගැලපේදැයි හසුරුවන්නා පරීක්ෂා කරයි . ගැලපීමක් ඇති විට ඔබේ අභිරුචි හසුරුවන්නාගේ ක්රියාව ක්රියාත්මක වේ.
මෙයට පෙර , නිර්දේශිත ප්රවේශය වූයේ live()
:
$(selector).live( eventName, function(){} );
කෙසේ වෙතත්, live()
පක්ෂව 1.7 on()
කින් ඉවත් කරන ලද අතර 1.9 දී සම්පූර්ණයෙන්ම ඉවත් කරන ලදී. මෙම live()
අත්සන:
$(selector).live( eventName, function(){} );
... පහත on()
අත්සන සමඟ ප්රතිස්ථාපනය කළ හැකිය :
$(document).on( eventName, selector, function(){} );
නිදසුනක් ලෙස, ඔබේ පිටුව පන්ති නාමය සමඟ ගතිකව මූලද්රව්ය නිර්මාණය කරන්නේ නම්, dosomething
ඔබ එය දැනටමත් පවතින දෙමව්පියන්ට බන්ධනය කරනු ඇත (මෙය මෙහි ගැටලුවේ කේන්ද්රස්ථානයයි, ඔබට බැඳීමට යමක් අවශ්යය, බැඳී නොසිටින්න ගතික අන්තර්ගතය), මෙය විය හැකිය (සහ පහසුම විකල්පය) document
. මතක තබා document
ගැනීම වඩාත්ම කාර්යක්ෂම විකල්පය නොවිය හැකිය .
$(document).on('mouseover mouseout', '.dosomething', function(){
// what you want to happen when mouseover and mouseout
// occurs on elements that match '.dosomething'
});
සිදුවීම බැඳී ඇති අවස්ථාවේ සිටින ඕනෑම දෙමාපියෙක් හොඳයි. උදාහරණයක් වශයෙන්
$('.buttons').on('click', 'button', function(){
// do something here
});
සඳහා අදාළ වේ
<div class="buttons">
<!-- <button>s that are generated dynamically and added here -->
</div>