我有一个像插件
$.fn.mycoolplugin
这与mousemove
文件绑定如
$(document).("mousemove", function() {
//bunch of stuff
});
Run Code Online (Sandbox Code Playgroud)
在选择器上调用该函数后
$('.myclass').mycoolplugin();
我如何取消绑定,因为mousemove
绑定到文档和我的代码中的其他东西使用mouseenter
和mouseleave
?
绑定多个事件,然后取消绑定其中几个?这是正确的吗?
基本上当你将鼠标悬停在元素上时,背景颜色会发生变化,然后当你将鼠标悬停在元素之外时会改变回来,但当你点击该元素时我想要禁用悬停效果并将背景颜色更改为不同的颜色,以便用户知道他们点击了它.最好的方法是什么?谢谢!
$('.tellmereplies').bind({click: function() {
$(this).animate({'backgroundColor':'#0099ff', 'color':'#fff'})
$('.tellmereplies').unbind('mouseover','mouseout')
},mouseover: function() {
$(this).animate({'backgroundColor':'#fbca54', 'color':'#fff'})
},mouseout: function() {
$(this).animate({'backgroundColor':'#E4E4E4', 'color':'#c0c0c3'})
}
});
Run Code Online (Sandbox Code Playgroud) 我正在使用选项卡式界面并设置了以下jQuery函数来处理我的选项卡的单击事件.
$(document).ready(function () {
$('a#foo').click(function() {
//content, various calls
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
以上是我的一个选项卡的示例,其他选项卡也在同一个文档就绪块中.我需要做的是使它无法重新点击当前选中的选项卡,在其他情况下我可以根据需要手动禁用选项卡.我通过以下方式实现了这一点:
$('a#play').unbind('click');
Run Code Online (Sandbox Code Playgroud)
这工作正常,它肯定会禁用选项卡,但问题然后重新绑定曾经存在的点击操作.我通过bind函数实现了这个目的:
$('a#foo').bind('click', function() {
//the same content and calls as before
return false;
});
Run Code Online (Sandbox Code Playgroud)
这也很好,但是因为我已经在我的UI中添加了标签,所以它变得非常混乱.直接的解决方案似乎是将函数创建为变量,然后将其传递给初始点击创建和绑定事件.像这样:
var Foo = new function() {
//same content and calls as before
return false;
}
$('a#foo').click(Foo());
$('a#foo').bind(Foo());
Run Code Online (Sandbox Code Playgroud)
由于某种原因,这似乎导致浏览器崩溃问题.在这种情况下是不可能将函数作为var传递,或者我只是做错了?或者,有没有更好的方法来实现我正在寻找的结果?谢谢.
我正在使用jquery.hotkeys.js编写一个带有两种键盘模式的程序,我看到一些减速并在解除所有keydown事件绑定时闪烁.有一个更好的方法吗?
function bindAll() {
//bind all keystroke events
$(document).bind('keydown','a', function(evt) {
//...
}
$(document).bind('keydown','b', function(evt) {
//...
}
//etc...
}
function unbindAll() {
$(document).unbind('keydown');
return true;
} //end unbinding all keystrokes
Run Code Online (Sandbox Code Playgroud) 将文件中的函数绑定到具有类SearchableCol的所有元素
jQuery(document).on("click", ".SearchableCol", nwcsClickFunc);
Run Code Online (Sandbox Code Playgroud)
我正在尝试以下两种解除绑定的方法,没有任何工作.
jQuery(document).unbind("click", nwcsClickFunc);
jQuery(".SearchableCol").unbind("click");
Run Code Online (Sandbox Code Playgroud)
需要帮助解除文档中的事件.
1)在进程结束之前,套接字似乎没有从LocalEndPoint解除绑定.
2)我已经尝试了另一个问题的解决方案,并尝试等待一分钟 - 无济于事.
3)目前我已经尝试了以下方法来摆脱套接字及其连接:
public static void killUser(User victim)
{
LingerOption lo = new LingerOption(false, 0);
victim.connectedSocket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.Linger, lo);
victim.connectedSocket.Shutdown(SocketShutdown.Both);
victim.connectedSocket.Disconnect(true);
victim.connectedSocket.Close();
clients.RemoveAt(victim.ID);
}
Run Code Online (Sandbox Code Playgroud)
4)经过一段谷歌搜索后,我似乎无法取消绑定端口,因此如果我有足够数量的连接客户端,我最终会用完端口来监听.
我试图只允许按一次按钮,然后通过ajax提交一些数据.我面临的问题是用户可以点击50x并且数据每次都提交POST?
jQuery("#id").unbind('click');
jQuery.ajax({
type: "POST",
url: ajax_url,
data: ajax_data,
cache: false,
success: function (html) {
location.reload(true);
}
});
Run Code Online (Sandbox Code Playgroud)
如果用户点击#ID
100x,我该如何确保数据只提交一次?然后重新启用#ID?
TkInter解除绑定功能是否会阻止应用它的小部件将更多事件绑定到小部件?
澄清:
假设我之前在程序中将事件绑定到画布:
canvas.bind("<Button-1>",some_function)
Run Code Online (Sandbox Code Playgroud)
然后在程序的某个点,我们不再需要这些事件:
canvas.unbind("<Button-1>")
Run Code Online (Sandbox Code Playgroud)
我们以后能不能做这样的事情:
canvas.bind("<Button-1>",OTHER_function)
Run Code Online (Sandbox Code Playgroud) 所以我在 Tkinter 中有一个应用程序,它在第一个屏幕中有很多按钮,当你按下一个按钮时,你会进入一个新的“窗口”(基本上销毁所有小部件并绘制“窗口”所需的小部件)。有一个标准函数使用一些命令来销毁根上的每个子项。我想添加一些代码来解除在根目录中进行的所有绑定。特定小部件上的绑定会被破坏,但根上绑定的绑定会保留在那里并导致错误。
这是销毁小部件的代码。
@staticmethod
def clear():
for widget in guihandle.root.winfo_children():
widget.destroy()
@staticmethod
def set(db,table):
guihandle.clear()
curW = Window(db,table)
guihandle.current_Window = curW
curW.initialize()
guihandle.windows.push(curW)
Run Code Online (Sandbox Code Playgroud)
(是的,我从 sqlite3 数据库制作基本 GUI :P)
考虑以下代码:
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
class First(BoxLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
x = Button(text='somebutton')
x.bind(on_press=lambda*_: print('First press'))
x.bind(on_press=lambda*_: print('Second press'))
self.add_widget(x)
def something(self, *somethingishereignored):
print("I have something")
class FChooser(App):
def build(self):
return First()
if __name__ == '__main__':
FChooser().run()
Run Code Online (Sandbox Code Playgroud)
这段代码的行为是,在我按下“somebutton”按钮后,它会打印:
Second press
First press
Run Code Online (Sandbox Code Playgroud)
所以,我用谷歌搜索发现我应该使用 unbind() 函数,然后我添加了这个:
Second press
First press
Run Code Online (Sandbox Code Playgroud)
但输出没有改变。它仍然是相同的输出。如何释放绑定?这只是一个最小的示例,我打算使用此功能来动态地将函数绑定和取消绑定到按钮,以向同一按钮添加各种功能。