我有一个包含大约 100 个文本框的 HTML 页面。我目前使用 JS 事件侦听器(模糊)来检测用户何时离开文本框。在事件侦听器中,我使用if
语句根据使用的文本框过滤操作,即if id == blah
,if className == blahblah
等。
在每个文本框的 HTML 标记中放置以将操作定向到特定功能是否被认为是一种更好的做法onBlur()
,还是我走在正确的轨道上?
我有一个包含大约 100 个文本框的 HTML 页面。我目前使用 JS 事件侦听器(模糊)来检测用户何时离开文本框。在事件侦听器中,我使用if
语句根据使用的文本框过滤操作,即if id == blah
,if className == blahblah
等。
在每个文本框的 HTML 标记中放置以将操作定向到特定功能是否被认为是一种更好的做法onBlur()
,还是我走在正确的轨道上?
对我来说,生产力是表现之后的重中之重。
由于您是新手,我建议您使用 jQuery 之类的 javascript 库。有了这个,你可以做一个简单的声明来把blur
//事件放在所有的地方keyup
,change
并在一个有组织的地方处理它。
我毫不怀疑这可以用纯 javascript 来完成,但是 javascript 库的一个主要好处是通过编写更少的行来提高生产力。
在您的特定情况下,我将通过一个空的 css和/或关闭另一个空类$.keyup()
在所有s 上执行 jQuery以指定子文本框:<input>
class
if
switch
$('.myEmptyClassThatsOnEachOfThe100Textboxes').keyup(function(){
if($(this).hasClass('myEmptyClassThatsOnEachTextboxOfThisFirstType')){
//do stuff
}
else if(...
})
嘿伙计,塞尔吉奥说得对。最好通过 DOM 方法在脚本元素中包含事件处理程序。现在为了简化您的任务,只需附加 EVENT DELEGATIONdocument.body.onchange=detect
function detect()
{
var textboxvalue=event.target.value //event.target point to text box on which blur event fires
}
这个简单的代码将通过冒泡事件来完成您的任务。无需使用任何数组/条件/类/ids/单独的事件处理程序“更改”事件与“模糊”事件相同。“更改”仅在文本框的值已更改时触发,因此空/空字符串不适用