我有一个已创建的搜索突出显示,但是由于某些原因,当按下退格键或Delete键时,它没有删除搜索突出显示。当按下“ Enter”键时,我能够使该事件起作用,但是由于某些原因,当按下Delete或Backspace键时,该事件不起作用。下面是我的代码:
<script>
$input.keypress("input", function(e) {
if (e.keyCode === 13) {
var searchVal = this.value;
$content.unmark({
done: function(totalMatches) {
$content.mark(searchVal, {
separateWordSearch: false,
acrossElements: true,
done: function(totalMatches) {
$results = $content.find("mark");
currentIndex = 0;
jumpTo();
//tag.addClass('active');
totalCount=totalMatches;
if (totalMatches) {
variableCounter=1;
$(".kwt-count").html(variableCounter+ " of " +totalMatches+" Matches");
}
else
{
$(".kwt-count").html(" Matches");
}
}
});
}
});
}
});
/**
* Clears the search
*/
$clearBtn.keypress("click", function(e) {
if (e.keyCode === 8 || e.keyCode === 46) {
$content.unmark();
$input.val("").focus();
}
});
</script>
我在此处创建了代码的代码笔:https://codepen.io/dude12go8/pen/PoYbdXd
我不确定我在做什么错。预先谢谢你
答案 0 :(得分:1)
仅当您按下Enter键时,您的代码才会运行。
退格和删除的键码为46
和8
。更新您的条件以同时考虑以下因素:
if (e.keyCode === 13 || e.keyCode === 46 || e.keyCode === 8)