javascript - javascript 和 HTML 是不可能分开的吗?

标签 javascript jquery code-organization

具体来说,我说的是避免这种类型的代码:

<input type='text' id='title_33' class='title'
  onfocus='updateCharsLeft(33);' 
  onkeypress='updateCharsLeft(33);' />

在这里,我想将 onfocusonkeypress 事件句柄分开放置,即放在 .js 文件中。像这样:

$(document).ready(function()
  {
    $(".title").focus(updateCharsLeft);
    $(".title").keypress(updateCharsLeft);
);

但是这里的问题是文本框的 ID 需要传递给函数 updateCharsLeft()。在该函数中必须从文本框的 ID 中提取 ID 会很糟糕,所以实际上将事件处理程序放入 HTML 代码中会更清晰。

想法?

最佳答案

你不能这样做吗:

$(document).ready(function()
  {
    $(".title").focus(function() {
        updateCharsLeft(this.id);
    });
    $(".title").keypress(function() {
        updateCharsLeft(this.id);
    });
);

或更简洁:

$(document).ready(function()
  {
    $(".title .another .someother .andAnother").focus(function() {
        updateCharsLeft(this.id);
    }).keypress(function() {
        updateCharsLeft(this.id);
    });
);

关于javascript - javascript 和 HTML 是不可能分开的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1097459/

相关文章:

javascript - 使用ajax从另一个页面加载html时未定义函数

父类中的 jquery 索引

Javascript 命名空间和 OO 组织

javascript - 基本的 jQuery 选择器问题

javascript - 如何通过 javascript 和代理从任何 url 简单地读取 html?

jquery - Css 位置内容未扩展

javascript - 如何在 jQuery 运行时更改图像

C# 组织我的代码

c# - 将现有文件添加到不同的 Visual Studio 2010 项目

javascript - 为 Openseadragon 添加注解