Javascript事件问题
我正在创建一个链接,当它被单击时会更改文本。我希望链接文本更改回原始文本后,所有的处理完成。它工作得很好,但是代码散布在我的js文件中,所以我试图将其抽象为一个函数。这是函数,Javascript事件问题,javascript,events,publish-subscribe,Javascript,Events,Publish Subscribe,我正在创建一个链接,当它被单击时会更改文本。我希望链接文本更改回原始文本后,所有的处理完成。它工作得很好,但是代码散布在我的js文件中,所以我试图将其抽象为一个函数。这是函数,文本切换。在textToggle函数中,我们发布了一个事件。这是一个我无法在正确的时间启动的事件 var textToggle = function(data) { var original_text = $(data.element).text(); var id = data.id; var $elemen
文本切换
。在textToggle函数中,我们发布了一个事件。这是一个我无法在正确的时间启动的事件
var textToggle = function(data) {
var original_text = $(data.element).text();
var id = data.id;
var $element = $(data.element);
$element.text(data.replacement_text);
$('body').on(data.event, function(e) {
e.preventDefault();
$this.text(original_text);
});
};
下面是设置textToggle的函数。在函数结束时,我们将触发另一个事件“clinical.status”
$('#clinicalPatients').on('click', '[data-role="auth-process"]', function(e) {
e.preventDefault();
var $this = $(this);
var _id = $target.attr('id');
textToggle({
id: _id,
element: $this,
replacement_text: "Processing...",
event: "clinical.status.finished"
});
$('#clinicalPatients').trigger('clinical.status', [{
id: _id,
target: $target,
action: _type
}]);
});
在clinical.status
的末尾,我想在toggleText中触发事件,clinical.status.finished
。这是该事件的代码
$('body').trigger('clinical.status.finished', [{
id: originalId
}]);
clinical.status.finished
未在正确的时间触发。在代码中没有其他地方使用它,所以它必须是我设置它的方式。如果我将该事件从toggleText
函数中退出,并将其放入我设置toggleText
函数的函数中,那么一切都会正常工作。通过将事件上的放入一个单独的函数,这将导致问题。请,任何帮助都将不胜感激。谢谢。你说的没有在正确的时间触发是什么意思?
很抱歉浪费大家的时间,但是我完成的任务发生得太快了,似乎什么都没有发生。再次感谢。