作为jQuery中的新手,我坚持一个问题。这个想法如下: 我们有一个管理面板,您可以点击按钮添加新成员或在LINK上编辑现有人员。两次点击触发同一个窗口,不同之处在于LINK提供了一个ID,该ID用于获取成员的数据并将其填入表单中。标准,不是吗?这是从别人做出的,今天我试图覆盖一些功能并添加一些新的东西。我得到这段代码:不同场合下添加/删除事件
// This happens to work.
var handler_for_edit_window = function() {
jQuery("#company_name_field").keyup(function(){
jQuery("#company_name_feed").val(this.value.replace(/ /g, "_").toLowerCase());
});
};
// I smelt the problem is somewhere here.
jQuery(".admin_buttons").bind("click", handler_for_edit_window);
jQuery(".edit_row_btn").unbind("click", handler_for_edit_window);
“handler_for_edit_window”完美地工作,并做它应该做的。但是,老板只想在新成员上添加功能,并在现有成员上删除它。因此,我在“handler_for_edit_window”中移动了该功能,并尝试根据BUTTON/LINK绑定/解除绑定。什么INFACT情况是这样的:
点击按钮(添加新成员) - 具有功能
1.1。点击链接(编辑现有) - 具有功能点击LINK(编辑) - 无功能
2.1。点击按钮(新) - 具有功能
2.2。点击链接(编辑) - 再有功能
的决定 - 当我们点击它添加所需要的按钮,但是当我们点击链接,我们还有机会,而且没有办法将其删除..
如果你给我一些观点和建议,会很高兴。
的想法是有一个相同的窗口写
jQuery
,这将出现在点击任何链接或按钮......但不同的行为 - 在第一方案H andler_for_edit_window = function(){});应该引发,在第二种情况下 - 不应该。看起来,一旦调用了handler_for_edit_window,它就会保持它的状态,而不管第二次点击是否在LINK上(我们应该“解除”该函数)。我曾尝试使用.on,.bind/.unbind,简单.click事件..没有运气。 (使用'jQuery'是因为不确定我的新雇主的源代码是否还有其他js框架......预防前期) – Musician 2014-09-02 05:47:50@Musician'bind','on'或'click'之间没有明显区别(最后一个只是'.on('click'')的简写,所以实际上你没有任何理由得到不同的结果,我不知道你的意思是什么*“这个想法是有一个相同的窗口”*你需要明白我没有相同的参考框架,所以我没有真正理解你在说什么,如果你编辑你的问题并添加一些有用的细节将会是有益的(JSFiddle演示会非常棒) – yuvi 2014-09-02 05:59:20