我使用以下代码突出显示元素:
$(".ss").live({
mouseenter: function () { HighLight(this) },
mouseleave: function () { OffLight(this); },
keypress: function () { KeyOperation(this); }
});
function HightLight(s)
{
$(s).css({border : "1px solid red"});
}
function OffLight(s)
{
$(s).css({border : "0"});
}
function KeyOperation(s)
{
$(s).remove();
}
KeyOperation()功能未在按键上执行。
我试图在用户突出显示任何元素时尝试这样做,并且在突出显示时,如果他按Delete key
,则应删除该元素。但这不起作用,有人可以告诉我怎么办此?
答案 0 :(得分:3)
我相信这就是你所追求的。将鼠标悬停在任何.ss
元素上将添加一个临时类。如果用户随时按下键46,则将删除具有该类的项目。见下面的工作小提琴。
// Bind to a closer parent if possible
$(document)
.on("keyup", function(e){
if ( e.which === 46 ) $(".removeMe").remove();
})
.on("mouseenter mouseleave", ".ss", function(f){
$(this).toggleClass("removeMe", f.type === "mouseenter" );
});
从这个例子中可以清楚地看出,不再鼓励$.live
进行事件委托。从这里开始使用$.on
代替。