在运行时将 onfocus 分配给 DOM 个元素

Assign onfocus to DOM elements in runtime

我有兴趣在运行时将 onfocus 或其他类似功能分配给 DOM 元素。

一般情况:

<input type="text" id="box" onfocus="inputFocused()"/>

运行时赋值案例:

<input type="text" id="box"/>

并在脚本中

$('#box').onfocus = inputFocused();

inputFocused() 只不过是一个简单的函数。它似乎无法正常工作。

感谢您的帮助。

您可以将其用作:

$('#box').on('focus',inputFocused);

希望对您有所帮助。

$('#box').on('focus',inputFocused);

function inputFocused(){
  alert('focused');  
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="box"/>

只需更换

$('#box').onfocus = inputFocused();

与:

$('#box').focus(inputFocused);

这是 jquery 正确的语法。来自 docs:

This method is a shortcut for .on( "focus", handler ) ...