jquery - facebox not working after $.post -
jquery - facebox not working after $.post -
i'm using facebox open remote page, includedjquery
, facebox.js
, facebox.css
, set in document.ready
jquery(document).ready(function ($) { $('a[rel*=facebox]').facebox({ loadingimage: 'imgs/loading.gif', closeimage: 'imgs/closelabel.png' }); });
everything works till phone call function
function lecfunc(year) { var name = year + '_lec'; $.post('php/scripts/lecclickscript.php', { matyear: year, mattype: name }, function (data) { document.getelementbyid("lecs_tbody").innerhtml = data; document.getelementbyid("lecs_boxbody").style.display = 'block'; document.getelementbyid("qus_boxbody").style.display = 'none'; }); }
the facebox doesn't work more
edit :: solved actully problem was using 2 jquery versions read qustion can-i-use-multiple-versions-of-jquery-on-the-same-page
then added code exact sequence
<script src="js/jquery.js"></script> <script type="text/javascript" src="js/facebox.js" ></script> <script type="text/javascript" src="js/onclick.js" ></script> <script>var $j = jquery.noconflict(true);</script> <script src="plugins/jquery/jquery-2.1.3.min.js"></script> <script> $(document).ready(function () { console.log($().jquery); // prints v2.1.3 console.log($j().jquery); // prints v1.4.2 }); </script>
and in onclick.js
file
jquery(document).ready(function ($) { $('a[rel*=facebox]').facebox({ loadingimage: 'imgs/loading.gif', closeimage: 'imgs/closelabel.png' }); }); function lecfunc(year) { var name = year + '_lec'; $.post('php/scripts/lecclickscript.php', { matyear: year, mattype: name }, function (data) { document.getelementbyid("lecs_tbody").innerhtml = data; document.getelementbyid("lecs_boxbody").style.display = 'block'; document.getelementbyid("qus_boxbody").style.display = 'none'; $j('a[rel*=facebox]').facebox({ loadingimage: 'imgs/loading.gif', closeimage: 'imgs/closelabel.png' }); }); }
you're initializing facebox when page loaded. in case, facebox plugin applied elements available in dom. after insert content ajax, new content won't initializied facebox. in order create work, you'll have initialize after $.post
, so:
jquery(document).ready(function ($) { function facebox_init() { $('a[rel*=facebox]').facebox({ loadingimage: 'imgs/loading.gif', closeimage: 'imgs/closelabel.png' }); } }); function lecfunc(year) { var name = year + '_lec'; $.post('php/scripts/lecclickscript.php', { matyear: year, mattype: name }, function (data) { document.getelementbyid("lecs_tbody").innerhtml = data; document.getelementbyid("lecs_boxbody").style.display = 'block'; document.getelementbyid("qus_boxbody").style.display = 'none'; facebox_init(); }); }
jquery facebox .post
Comments
Post a Comment