当触发来自不同元素的另一个事件时,我在将事件绑定到元素时遇到了很多麻烦。我的 HTML 是一个文本框,当添加一些文本时,它会创建一个带有提示的上下文菜单。由于此菜单是动态创建的表,我想将单击事件绑定到其元素。所以,这是我的代码:
$("#TextBox").on("keypress", function(e) {
$("#Menu").find("td").on("click", function(event) {
event.stopPropagation();
event.preventDefault();
processText(event, $(this).children().text());
});
$(this).off(e);
});
但是,我不知道为什么,它不起作用。另外,我尝试创建一个变量并将其用作标志,但也不起作用。
如果我不解绑它,点击事件的触发次数与用户按下键的次数一样多。但我想解绑它,所以它只执行一次。
编辑:错误是我正在处理不正确的事件。我不得不处理“keyup”,因为在“keypress”中表格仍然不存在。