浏览器兼容性---普通的Javascript代码

时间:2015-05-29 13:06:36

标签: javascript

我很难在Chrome浏览器版本43.0.2357.81 m和OS Windows XP中运行以下代码。

下面的代码在Firefox和IE上完美运行。 Chrome浏览器是否与Windows Xp兼容。

在chrome中我得到TrpeError:translate不是函数;

先谢谢。

getWindow().addFlags()

2 个答案:

答案 0 :(得分:3)

编辑:正如Aaron Digulla所指出的,这与我最初想到的Chrome内容安全政策无关。不过,我会留下这个答案,因为下面的代码仍然是处理事件的有效方法。

var passfield = document.getElementById('password');
passfield.onkeydown = function(event) {
     if(event.keyCode == 13 || event.which==13){                 
          alert("You have entered ENTER key");                    
     }
}

以下小提琴显示了这一点: https://jsfiddle.net/x0enzmc7/

答案 1 :(得分:2)

省略javascript:。这应该有效:

... onkeydown="translate(event)" ...

但是将函数附加到页面的onload事件可能不那么脆弱了:

function onload() {
    var password = document.getElementById('password');
    password.onkeydown = translate;
}

请注意event内的translate()可能未定义。使用

event = event || window.event;

解决这个问题。

最后,该函数应返回truefalse,具体取决于是否要吞下该事件。

正如你所看到的,这很难做到。只需将jQuery添加到您的页面并使用它 - 它就可以解决所有那些讨厌的问题。