- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想在用户离开某个状态时在页面中的某个元素上显示动画。这是我目前拥有的:
{
.....,
views: { ... },
onExit: function(){
someEle.classList.remove("someClass"); //CSS transition
}
}
但是,一旦离开状态,退出状态的 View 就会被破坏并且没有动画。有没有办法在动画完成之前“阻止”状态的退出一定时间?
最佳答案
检查这个新的尝试,在 <a>
上点击事件标签。我成功地阻止了事件在过渡期间触发,甚至设法重置事件的 defaultPrevented 属性并从 transitionend
调度它事件,但即使事件肯定会触发(因为链接上的第二次转换),它仍然没有重定向到链接 url。但是,我能够通过访问 target.href
来做到这一点。事件的属性。查看下面的代码:
var links = document.getElementsByTagName("a");
function onTransitionEnd(event) {
window.location.href = event.target.href;
// Uncomment line below to refire the event
// event.target.dispatchEvent(event);
}
for(i=0; i<links.length; i++) {
links[i].addEventListener("click", function(e) {
this.addEventListener("transitionend", function() {
// Uncomment lines below to refire the event
/* delete e.defaultPrevented;
e.defaultPrevented = false; */
onTransitionEnd(e);
});
if( this.className.search(/animate/) > -1 )
this.className = this.className.replace("animate", "");
else
this.className = this.className + " animate";
e.preventDefault();
});
}
纯 JS Fiddle .
function onTransitionEnd(event) {
console.log(event);
window.location.href = event.target.href;
}
$("a", this).on("click", function (e) {
if ( $(this).hasClass("animate") )
$(this).removeClass("animate");
else
$(this).addClass("animate");
$("a").on("transitionend", function () {
onTransitionEnd(e);
});
e.preventDefault();
});
jQuery Fiddle .
function onTransitionEnd(event) {
/* do stuff here */
// Uncomment line below to refire the event
// event.target.dispatchEvent(event);
}
{
.....,
views: { ... },
onExit: function(e){
someEle.addEventListener("transitionend", function() {
// Uncomment lines below to be able refire the event on `transitionend`
/* delete e.defaultPrevented;
e.defaultPrevented = false; */
onTransitionEnd(e);
});
someEle.classList.remove("someClass"); //CSS transition
}
}
关于javascript - 在 ui-router 中保持 onExit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27537351/
当从一个屏幕导航到另一个屏幕时,必须调用 onExit 来释放资源。但是它没有被触发。这是我的代码: function (BaseController, JSONModel, formatter, F
我有两个状态,A 和 B。 当我通过单击关闭按钮退出状态 A 时,我使用 $state.go 转换到屏幕 A 到状态 B(屏幕 B) 当我通过单击屏幕 A 上的后退浏览器按钮退出状态 A 时,我会随着
我正在尝试创建一个线程,并在 wxPython 应用程序的框架关闭时结束它。这是我的代码: #! /usr/bin/env python import time, wx from threading
我在完成(退出)小部件时请求 URL 时遇到一些问题。我尝试根据请求通过 window.widget.onexit 使用它,然后使用注销 URL,这会在后端生成一些日志。我尝试了以下方法: windo
我目前正在测试来自 java 9 的 Process API,但我在使用以下代码时遇到了一些问题: Process process = new ProcessBuilder( List.of("pin
我是 android 新手,已经阅读了 Android app start and end event和 Android onClose event但还没有找到答案。 我正在开发一个简单的应用程序 -
我有代码: Private Sub TempCombo_Exit(Cancel As Integer) MsgBox "test" End Sub 但是当我从 TempCombo 退出时什么都
我在 openui5 中使用选项卡 Controller ,我想定期执行一些操作,所以我使用了下面的代码: sap.ui.jsview("oui5mvc.tabs", { getControl
我正在开发一个简单的应用程序来使用 Swing 管理业务的运营部分,但我需要在应用程序退出时执行以下操作: updateZonas(); db.close(); 但是我该怎么做呢? 最佳答案 Runt
我有一个 View 问题,该 View 显示一棵树与 SQLite 数据库建立了很多连接,并且只想建立一个。因此,我需要使用一些东西来控制它的生命周期,以便连接能够与 View 一起打开和关闭。 所以
我想在用户离开某个状态时在页面中的某个元素上显示动画。这是我目前拥有的: { ....., views: { ... }, onExit: function(){
我试图了解应该如何设计 WxWidgets (3.0.1) 应用程序,但我遗漏了一些东西,因为我正在尝试的东西不起作用。 在基本层面上,我有我的 WxApp,它创建了一个 WxFrame,它得到显示并
C# XNA 游戏是否有任何方法可以检测用户是单击十字按钮关闭程序,还是按下 ALT+F4 键关闭..? 可能可以从 KeyBoardState 检测到 ALT+F4 键,但是我如何检测到单击十字按钮
我有 Rectangle 填充了 MouseArea,它在 onPressAndHold() 处理程序上显示第二个 Rectangle 并传输 将 操作拖到那个Rectangle。问题是,当我将第二个
我在遇到以下情况时遇到问题: 2 编辑 在 Edit1 中输入内容并按 TAB 键,焦点将转到 Edit2 Edit1.OnExit -> 显示带有消息“正在处理...”的表单(进行冗长的验证) 表单
我在Experts-Exchange上发现了这个问题. Control's OnExit eats up mouseup event for new control when showing anot
我在Experts-Exchange上发现了这个问题. Control's OnExit eats up mouseup event for new control when showing anot
当我尝试在 Release模式下运行我的程序时,它会直接运行到 Unhandled exception at 0x6f2426ef (msvcr100.dll) in FPS Game.exe: 0x
onExited 回调不工作,onClose 工作正常,请帮我找出为什么会发生,是 material ui 上的问题> ,或者在我的代码中 ??我也尝试过使用 onMouseLeave 但它也不起作
我正在寻找以下可能性: $stateProvider.state('user', angularAMD.route({ url: '/user/:id', templa
我是一名优秀的程序员,十分优秀!