我需要知道何时关闭了UIKit通知。
UIkit通知插件(https://getuikit.com/docs/notification)提到它有一个关闭事件。是否可以将其用于以编程方式触发的实例?
例如:
UIkit.notification({
message: 'my-message!',
status: 'primary',
timeout: null
});
UIKit.o我尝试过在变量(如建议的https://getuikit.com/docs/javascript#programmatic-use中,它甚至声明为You'll receive the initialized component as return value --但您没有)上添加符号。
let foo = UIkit.notification('message'); // foo is undefined我试过把on方法链接起来
UIkit.notification.on('close', function() { ... }); // on is undefined但是.on方法是UIkit.util.on($el, event, fn)的一部分,在编程调用通知时没有$el。
我能想到的唯一其他方法就是在身体上放置一个突变观察者,并观察通知元素来改变状态,但这似乎有点过火了。
发布于 2019-02-06 16:32:46
你可以存储通知的句柄.
warning_notification = UIkit.notification({message: 'Warning message...',
status: 'warning', timeout: 1000});..。并检查这是否是关闭事件的起源:
UIkit.util.on(document, 'close', function(evt) {
if (evt.detail[0] === warning_notification) {
alert('Warning notification closed');
}
});现在,您将只在此通知完全关闭时才会看到警报。
发布于 2018-05-10 07:54:54
发布于 2018-07-25 14:23:29
有点刺痛,但以下几点似乎“奏效”了:
function notify(){
var params = Array.prototype.slice.call(arguments);
new_f = params.shift()
foo = UIkit.notification.apply(this, params);
return function(foo, new_f, old_f){
foo.close = function(){new_f(); foo.close = old_f; old_f.apply(this, arguments); }
return foo
}(foo, new_f, foo.close);
}
notify(function(){alert('ok');}, 'message');<script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/3.0.0-rc.9/js/uikit.js"></script>
https://stackoverflow.com/questions/49374524
复制相似问题