如果语句onclick或任何其他JS事件写内联javascript?

时间:2014-05-14 09:57:21

标签: javascript inline keyboard-events

我需要在JS中编写带有if条件的一个线性代码,如下所示:

onkeyup="javascript:if(event.keyCode ==13){myfunction(document.getElementById('xyz').value);}"

但上面的代码不适合我。如果我去创建一个函数,并使用与魅力相同的代码从onKeyUp事件中调用它。

如果有人能在这种情况下提供帮助,那就太好了。

2 个答案:

答案 0 :(得分:1)

试试这种方式

我添加了

    function myfunction(x)
    {
          alert(x);
    }

并没有更改onkeyup功能。 你可能会发生这样的事情,你的功能可能会在身体下方声明。只需将该代码包装在< head>中页面部分。 如果您正在调用document.ready,那么该函数不会解析DOM。

在这里查看jsFiddle http://jsfiddle.net/E5DK7/

答案 1 :(得分:0)

在这里,选择一个内联处理程序,就像您使用的一样,或者附加addEventListener的内联处理程序 - 它们都在Chrome 34.0.1847.131 m中运行。

请注意,您的示例在内联javascript中使用了硬编码ID,而我提供的另一个则没有。我只给了第二个input元素一个id,以便我可以在onDocLoaded中定位它 - 也就是说,myFunction2可以附加到任何元素上,键盘事件 - keyupkeydown

由于myFunction2成为其附加的任何元素的一部分,this关键字指的是触发元素本身。 Soooo,您可以使用javascript创建没有ID的输入元素,myFunction2仍然可以提供有意义的结果。 (this关键字指的是触发元素,因此不需要在事件处理程序的主体中定位任何单个元素 - 可以将1个单个函数附加到任何输入元素的keyup / {{ 1}}你喜欢的事件)

keydown