如何从公共文件覆盖JavaScript函数?

时间:2017-05-10 01:23:43

标签: javascript jquery

我在常见的js文件中有这个js代码。

$('body').on('click','.close-modal',function(e) {
        if ($('.modal-container').length > 1) {
            $('.modal-container').last().remove();
            $('.modal-window').last().remove();
        }
        else {
            $('.modal-window, .modal-container').fadeOut(500).queue(function() { $('.modal-window, .modal-container').remove();});
        }
        e.preventDefault();
    });

我想用我的要求覆盖这个代码,因为它的常见js文件在common.js中进行任何更改都不是好习惯。我的覆盖功能 -

$('body').on('click','.close-modal',function(e) {
if(strText.length >0 {
            if ($('.modal-container').length > 1) {
                $('.modal-container').last().remove();
                $('.modal-window').last().remove();
            }
}           
e.preventDefault();
        });

由于js文件调用了previous,它没有调用我的更改...任何实现此目的的选项。

StrText是我的json_enoded字符串。

1 个答案:

答案 0 :(得分:1)

在你的加载功能中取消绑定事件点击正文。清除处理程序unbind

$(function () {
    $('body').unbind('click')
    $('body').on('click', '.close-modal', function (e) {
        if (strText.length > 0 {
            if ($('.modal-container').length > 1) {
                $('.modal-container').last().remove();
                $('.modal-window').last().remove();
            }
        }
            e.preventDefault();
    });
});