私はHTMLにこのコードを持っています
<ul id="menu">
<li class="mainmenu" id="newsarticles"><a href="#">News & articles</a>
<ul id="newsarticles">
<li class="submenu" id="news"> <a href="#">News</a>
</li>
<li class="submenu" id="articles"> <a href="#">Articles</a>
</li>
</ul>
<li class="mainmenu" id="contactus"><a href="#">Contact Us</a>
</li>
</ul>
そして、新しいツリーメニューを作成してhtmlページを呼び出すために、jQuery ajaxでこのコードを呼び出します。私の問題は、これら2つのメニューで同じ機能を使用したいということです。書くことなくこれを行う方法があるのだろうか同じ関数を 2 回:
$(document).ready(function() {
$("#menu li").on("click", function(e) {
e.stopPropagation();
var currentId = $(this).attr('id');
var scriptPath = currentId+".html";
var tree = $(this).closest("ul").attr("id");
$.ajax({
url: scriptPath,
type:'HEAD',
success: function()
{
//file exists
$("#tree").html($("#"+tree).html());
$("#text").load(scriptPath);
$("#tree li").click(Menu_callTabs); //the same function for tree menu
}
});
});
});
function Menu_callTabs(){
$("#menu li").on("click", function(e) {
var currentId = $(this).attr('id');
var scriptPath = currentId+".html";
var tree = $(this).closest("ul").attr("id");
$.ajax({
url: scriptPath,
type:'HEAD',
success: function()
{
//file exists
$("#tree").html($("#"+tree).html());
$("#text").load(scriptPath);
$("#tree li").click(Menu_callTabs); //the same function for tree menu
}
});
});
}
どんな助けでも感謝します。