我想使用按键删除php会话变量。所以我使用了这些代码,
<script type="text/javascript">
function textsizer(e){
var evtobj=window.event? event : e
var unicode=evtobj.charCode? evtobj.charCode : evtobj.keyCode
var actualkey=String.fromCharCode(unicode)
if(actualkey=="x"){
location.href="biling.php?cmd="+actualkey;}
}
document.onkeypress=textsizer
</script>
<?php if(isset($_GET['cmd'])){
unset($_SESSION["bill_array"]);
header('location:biling.php');
}
?> }
但问题是,当我在文本框中输入“x”时,此代码也会清除会话。所以我只是想停止它并清除会话只有当我在文本框的旁边按“x”时
答案 0 :(得分:1)
您可以检查e.target
属性,以确定触发keypress
事件的元素。
//Does not work on IE
window.addEventListener('keypress', function(e){ console.log(e.target) }, false)
在e.target.tagName == 'BODY'
是一个不错的选择时采取行动。
有关Event
的详情,请查看:
答案 1 :(得分:1)
我认为您可以编辑现有的功能:
function textsizer(e) {
var evtobj=window.event? event : e;
var element = evtobj.target ? evtobj.target : evtobj.srcElement;
if (element.tagName.toLowerCase() == "body") {
var unicode=evtobj.charCode? evtobj.charCode : evtobj.keyCode;
var actualkey=String.fromCharCode(unicode)
if(actualkey=="x"){
location.href="biling.php?cmd="+actualkey;
}
}
}
答案 2 :(得分:-1)
$( “输入[类型= '文本']”)。按键(函数(){
});