我有一个“核心”javascript,其中包含一些我无法触及的jQuery函数,以及一个带有我编写的脚本的“自定义”javascript
我想用我的“自定义”功能覆盖一些“核心”功能。就像这样
// Core script (app.js), I can't touch this
var App = function(){
// function to override or to inherit
var handleBootstrapConfirmation = function(){
$('[data-toggle=confirmation]').confirmation({
btnOkClass: 'btn btn-sm btn-success',
btnCancelClass: 'btn btn-sm btn-danger'
})
};
return {
init: function(){
handleBootstrapConfirmation();
}
}
}();
$(document).ready(function() {
App.init();
});
// Custom script (custom.js), I can touch this
var Custom = function(){
// this should override the previous one
var handleBootstrapConfirmation = function(){
$('[data-toggle=confirmation]').confirmation({
title: 'Custom title'
// other options here
})
};
return {
init: function(){
handleBootstrapConfirmation();
}
}
}();
$(document).ready(function() {
Custom.init();
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mistic100-Bootstrap-Confirmation/2.4.0/bootstrap-confirmation.min.js"></script>
<p style="padding:120px 80px"><a href="#" class="btn btn-primary" data-toggle="confirmation">Delete?</a></p>
您看,应用handleBootstrapConfirmation()
已执行但自定义handleBootstrapConfirmation()
未执行:我必须对App.init();
行进行评论才能使其正常工作
我知道我可以在自定义脚本中更改内容($('[data-toggle=confirm]')
而不是$('[data-toggle=confirmation]')
),但我想保持一致
有一种简单的方法吗?感谢