gpt4 book ai didi

javascript - 到达显示模式应用类之外的 btn 事件

转载 作者:行者123 更新时间:2023-11-28 00:14:58 24 4
gpt4 key购买 nike

我有一个揭示模式的应用类。如何在 model 之外访问 btnMenu 事件谢谢。

MyModel= (function () {     
var btnClickEvents = function () {
var btnMenu = $('.btnMenu').on('click', function () {
var date= $(this).attr("data-rezerve-date");
var statu= $(this).attr("data-rezerve-statu");
alert("click"+date+'---'+statu);
});
};
return {
initialize: initialize,
asignValues: asignValues,
getRezervationDateAndStatus: btnClickEvents.btnMenu//how can I reach this function outside of model
};
})();

更新我按照你的展示更改了我的代码。并添加了一个返回函数

MyModel = (function () {
var dt = "";
var statu = "";
var rvalue = {};
var btnClickEvents = function () {
$('.btnMenu').on('click', onBtnMenuClick);
};

function onBtnMenuClick(e) {
dt = $(this).attr("data-rezerve-date");
statu = $(this).attr("data-rezerve-statu");
rvalue.date = dt;
rvalue.statu = statu;
console.log(dt);
}
var getRezervationDateAndStatus = function () {

return rvalue;
};
return {
initialize: initialize,
asignValues: asignValues,

getRezervationDateAndStatus: getRezervationDateAndStatus
};
})();

将我的模块包含到我的网页中后,调用就像这样,

MyModel.asignValues(rezervasyonTable,data);
MyModel.initialize();
var result = MyModel.getRezervationDateAndStatus();
console.log(result.date);

控制台日志为空。

最佳答案

正如你所说,这是一种“揭示性”模式。你可以看到你暴露的东西。为了能够在模块外部使用此函数,请像这样更改代码:

MyModel = (function () {
var btnClickEvents = function () {
$('.btnMenu').on('click', onBtnMenuClick);
};

function onBtnMenuClick(e) {
var date = $(this).attr("data-rezerve-date");
var statu = $(this).attr("data-rezerve-statu");
alert("click" + date + '---' + statu);
}

return {
initialize: initialize,
asignValues: asignValues,
getRezervationDateAndStatus: onBtnMenuClick
};
})();

关于javascript - 到达显示模式应用类之外的 btn 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30545189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com