【发布时间】:2021-06-01 21:44:50
【问题描述】:
我正在使用 Framework7,我正在尝试进行一个相当简单的按钮单击设置,以触发警报窗口。设置如下:
<div class="col-100">
<div class="list no-hairlines-md">
<ul>
<li class="item-content item-input">
<div class="item-inner">
<div class="item-title item-label">Custom Message</div>
<div class="item-input-wrap">
<input id="custom-message-input" type="text" placeholder="Your message here..." />
<span id="custom-message-clear" class="input-clear-button"></span>
</div>
</div>
</li>
</ul>
<a id="custom-message-button" class="button button-raised button-fill">Send Custom Message</a>
</div>
</div>
点击事件的初始化如下:
app.on('pageInit', function (page) {
$('#custom-message-button').on('click', () => {
$('#custom-message-clear').click();
app.dialog.alert('Message was successfully sent.', 'Information');
});
...
但由于某种原因,当我单击按钮时,它会触发两次。警报出现一次,我点击它离开,然后它再次出现,我点击它离开。然后它就消失了。
我可能在这里遗漏了什么?
【问题讨论】:
-
不熟悉该框架,但我会在
on('pageInit'中进行一些日志记录,看看它是否被多次调用。最坏的情况你可以做$(selector).off('click').on('click'.... -
@charlietfl 我检查了。当我单击一次按钮时,它会两次打印出我的控制台消息。
-
了解那部分,但 pageInit 是否会多次触发以导致它?
-
@charlietfl 奇怪的是,我在另一个页面上做的事情完全相同,但只触发一次。
-
@charlietfl 看起来 pageInit 确实被调用了两次。但奇怪的是它在其他地方按预期工作:/我会尝试检查,看看我是否能找出另一个电话在哪里。
标签: javascript html jquery html-framework-7