Jquery在onsenui的on -back按钮中没有触发点击事件
jquery click event not triggered in ons-back-button in onsenui
在最新版本的Onsen v1.3.8中,我无法像下面这样为ons-back-button
编写特定的jquery点击事件。
$(document).on('click', 'ons-back-button', function(e){
alert('clicked');
});
但是,对于像/* onsenui - v1.2.1 - 2014-12-01 */
这样的旧版本,jquery点击事件被触发。
使用最新版本的/*! onsenui - v1.3.8 - 2015-07-27 */
(onsenui_all.js或onsenui.js), jquery点击事件不触发ons-back-button
!
ons-button
, ons-list
jquery点击事件触发与最新版本。
ng-click
事件也未触发
<ons-back-button ng-click="onsPay()"></ons-back-button>
function onsPay()
{
console.log("Clicked");
}
有什么帮助吗?
这在Onsen UI 1.3.0之后确实不工作了。原因是在ons-navigator
中执行event.stopPropagation()
以避免其他问题(https://github.com/OnsenUI/OnsenUI/blob/master/core/lib/navigator-page.es6#L43)。也许在下一个版本中会有所改变。关于Github问题的更多信息在这里:https://github.com/OnsenUI/OnsenUI/issues/865
ons-back-button
只是触发myNavigator.popPage()
,所以同时我建议你使用myNavigator.on('prepop', listener)
或myNavigator.on('postpop', listener)
: http://onsen.io/reference/ons-navigator.html#events-summary
Edit:有两种解决方法。
1 -正如我之前所说的,在postpop
之后设置一个回调的监听器(应该与onTransitionEnd
相同:
myNavigator.once('postpop', callback)
你可以使用on
如果你想要相同的回调总是或once
如果只有一次。如果您不再需要侦听器,也请检查off
以删除它们。例如,您可以在pageX的once
初始化中为其设置一个特定的回调,它将被返回按钮"消耗"。如果在pageX中你可以推送更多的页面,你可以使用nav.off('postpop', callback); nav.pushPage(pageY)
。
2 -只使用后退按钮的样式,而不是真正的组件,所以你可以正常使用onclick
:
<style>
.ons-back-button__icon {
vertical-align: top;
font-size: 36px;
margin-left: 8px;
margin-right: 2px;
width: 16px;
display: inline-block;
padding-top: 1px;
}
</style>
<ons-toolbar-button class="toolbar-button--quiet" onclick="myNavigator.popPage(options)">
<ons-icon class="ion-ios-arrow-back ons-back-button__icon"></ons-icon>
Back
</ons-toolbar-button>
希望有帮助!
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何从画布上的某个移动事件中获取X和Y
- Jquery:未触发select事件
- JsFiddle上的鼠标事件不起作用
- 只覆盖箭头键滚动事件
- OnsenUI中的ng点击事件不会在Android模拟器上触发
- 当事件被触发时,PhoneGap和OnsenUI模态没有显示
- Jquery在onsenui的on -back按钮中没有触发点击事件