w3school包括HTML,javascript无法正常工作
所以,我最近使用w3school包含html,所以我不必将相同的div复制粘贴到我的所有页面。
首先,我使用它作为页眉和页脚,它使用一些CSS样式,它没有问题,完美的工作。
但是,然后,我试图再次使用它为我的下拉Navbar,其中包括一些JavaScript,HTML包括罚款,但我放的JavaScript不起作用! 没有什么问题的javascript,它没有使用包含HTML时工作正常。 这是代码
$('#leftDrop1').on('click', function() { if ($('#sub1').css('display') == 'block') { $('#sub1').hide() } else { $("#sub1").show() } }) $('#leftDrop2').on('click', function() { if ($('#sub2').css('display') == 'block') { $('#sub2').hide() } else { $("#sub2").show() } })
这里是dropdown.html里面的内容
我不知道如何将2个html页面放在片段上,如果这有点令人困惑,我很抱歉
你需要委托你的事件beacouse w3school脚本使用ajax并添加新的项目到dom
$('body').on('click','#leftDrop1',function() { if ($('#sub1').css('display') == 'block') { $('#sub1').hide() } else { $("#sub1").show() } }) $('body').on('click','#leftDrop2',function() { if ($('#sub2').css('display') == 'block') { $('#sub2').hide() } else { $("#sub2").show() } })
现在来自w3.js的w3.includeHTML允许在加载html之后进行回调。
w3.includeHTML(function() { $('#leftDrop1').on('click', function() { if ($('#sub1').css('display') == 'block') { $('#sub1').hide() } else { $("#sub1").show() } }) $('#leftDrop2').on('click', function() { if ($('#sub2').css('display') == 'block') { $('#sub2').hide() } else { $("#sub2").show() } }) });