我可以使用此代码删除点击事件,
$('p').unbind('click')
Run Code Online (Sandbox Code Playgroud)
但是,有一些方法可以删除所有事件吗?
有一个unbindAll
在jquery中命名的方法?
谢谢
码:
$('#Inputfield').keyup(function(e)
{
if(e.which == 13)
{
functionXyz();
}
else
{
functionZyx();
}
});
$(document).keyup(function(exit) {
if (exit.keyCode == 27) { functionZzy(); }
});
Run Code Online (Sandbox Code Playgroud)
问题:如何删除keyCode == 27的keyup事件处理程序并保持其他$(document).keyup事件处理程序完好无损?
我有这个功能:
function block_scroll(key){
if (key) {
$(window).bind("scroll", function(){
$('html, body').animate({scrollTop:0}, 'fast');
});
} else {
$(window).unbind();
}
}
Run Code Online (Sandbox Code Playgroud)
第一部分按原样运行,但是当我稍后调用block_scroll(false)时 - 它仍然阻塞.笏呢?
重新编辑 所以我试过......
$(window).unbind("scroll");
Run Code Online (Sandbox Code Playgroud)
......有些困惑.起初它没有用 - 然后它起作用了.
现在我认为它失败了因为我在滚动的时候调用了block_scroll(false).我现在已经多次测试了这个.是的,如果我在脚本运行时没有做任何事情并且调用了block_scroll(false) - 它确实有效.但是,如果我在调用它时滚动它就不会.
我正在寻找淘汰赛中的解除绑定功能.不幸的是谷歌搜索和查看这里提出的问题并没有给我任何有关该主题的有用信息.
我将提供一个示例来说明需要哪种功能.
让我们说我有一个有几个输入的表格.此外,我有一个绑定到此表单的视图模型.出于某种原因,作为对用户操作的反应,我需要从表单中取消绑定我的视图模型,即,由于操作已完成,我希望所有可观察对象停止对相应值的更改做出反应,反之亦然 - 对可观察对象所做的任何更改都应该' t影响输入值.
实现这一目标的最佳方法是什么?
我有onclick事件,
$('#locations').click(function(){
$('#train').unbind('click');
//do some stuff
}
Run Code Online (Sandbox Code Playgroud)
2.单击关闭按钮
$('.close').click(function(){
//do some stuff
}
Run Code Online (Sandbox Code Playgroud)
3.再次点击#train
$('#train').bind('click', function() {
alert('train is clicked');
//do some stuff
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是#train没有触发.是否要在.close函数上再次绑定事件?
请建议.谢谢.
我英语不好,但我会尽力解释我的问题.
所以,问题是:
1)我有一个本地服务
2)我启动它然后绑定它.3)当我即将关闭该服务时出现问题.永远不会调用我的类ServiceConnection实现中的onServiceDisconnected方法.如果我手动(从设置),或通过unbindService,或通过stopService,或通过unbindService和stopService的组合关闭它 - onServiceDisconnected仍然不会被调用.我究竟做错了什么?
简短的代码如下:
protected ServiceConnection mServerConn = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder binder) {
Log.d(LOG_TAG, "onServiceConnected");
}
@Override
public void onServiceDisconnected(ComponentName name) {
Log.d(LOG_TAG, "onServiceDisconnected");
}
}
public void start() {
// mContext is defined upper in code, I think it is not necessary to explain what is it
mContext.bindService(i, mServerConn, Context.BIND_AUTO_CREATE);
mContext.startService(i);
}
public void stop() {
mContext.stopService(new Intent(mContext, ServiceRemote.class));
mContext.unbindService(mServerConn);
}
Run Code Online (Sandbox Code Playgroud)
我正在Android 2.2的模拟器下测试此代码
在jQuery中,如果我们使用.remove()
删除一些元素,则删除与元素关联的所有绑定事件和jQuery数据.
但是如果我们用"删除"元素会发生什么.html()
?
在更改任何html以避免内存泄漏之前,我们是否需要取消绑定所有元素?
我有一个页面,用户可以拖放对象并将其保存为图像.当用户离开页面时,会触发事件beforeunload.现在,每次都会发生这种情况.我想要做的是,如果用户保存了他的工作,解除绑定事件,以便消息可能不会再次弹出.为此,我在jQuery中使用了 unbind方法.但是,它似乎不起作用.下面是绑定和解除绑定事件的代码.
var notSaved = function()
{
return 'You have not yet saved your work.Do you want to continue? Doing so, may cause loss of your work' ;
}
$(window).bind('beforeunload', notSaved);
Run Code Online (Sandbox Code Playgroud)
调用save方法后,
$(window).unbind('beforeunload', notSaved);
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?
另外,save方法实际上是一个Ajax调用.
我有一个绑定到持久服务的Android应用程序(一旦启动startService()
).
该服务是应用程序不可或缺的一部分,因此几乎在每个Activity中都使用.因此,我想只绑定一次服务(而不是在每个Activity中绑定/解除绑定)并在我的应用程序的生命周期内保持绑定.
我已经从Application扩展并绑定到Application#onCreate()中的服务.但是我现在遇到的问题是我不知道我的应用程序何时存在,因为从未调用Application#onTerminate(),请参阅JavaDoc:
此方法用于模拟过程环境.永远不会在生产Android设备上调用它,只需杀死它们即可删除进程; 这样做时不会执行任何用户代码(包括此回调).
那么如何从Application中绑定的服务中干净地取消绑定?
在2周前在这里问了同样的问题之后,我终于找到了"解决方案".这就是我回答自己问题的原因.;)
如何在JQUERY中绑定,组合和重新绑定事件?
unbind ×10
jquery ×7
bind ×5
events ×3
android ×2
service ×2
forms ×1
javascript ×1
knockout.js ×1
memory-leaks ×1
mvvm ×1
onclick ×1