我正在制作一个网络应用,我的javascript正在收集相当多的$(文档).on事件监听器。它对我来说运作得很好,但感觉必须有更好的方法来组织它。这是一个示例:
// send quiz info via Ajax, then load form for the first question.
$(document).on('click', '#create-new-quiz', function(){
createNewQuiz();
$('#forms').load("dash/workspace.php", {
action : 'get-new-question'
});
});
// load the form to create the first question
$(document).on('click', '#finish-quiz', function(){
addQuestion();
$('#forms').load("dash/workspace.php",{
action : 'finish-quiz'
});
});
//call function to add a new question via ajax when the button is clicked.
$(document).on('click', '#add-question', function(){
nextAction = "add-question";
addQuestion();
});
这表明我有各种各样的按钮,这些按钮是从DOM动态添加和删除的。单击它们时,将调用一个函数。
有什么建议吗?我已经走上了正确的道路,还是有更好的方法来组织这个?
答案 0 :(得分:1)
我发现$('#button').click(function(){})
的快捷方式比较整洁。
此外,您的前两个事件处理程序非常相似,可以更通用,即将操作作为变量传递:
$('.quizButton').click(function(e){
createNewQuiz();
$('#forms').load("dash/workspace.php", {
action : $('this').data('action');
});
});