代码之家  ›  专栏  ›  技术社区  ›  cdmckay

在内联JavaScript处理程序中使用jQuery事件

  •  2
  • cdmckay  · 技术社区  · 14 年前

    onclick onchange . 但是,我需要我的处理程序是跨浏览器的。我习惯于使用jQuery,但是因为我不能使用 $('#id').click(function() { ... }) 我在访问jQuery样式的事件时遇到了一些困难。

    例如,我想这样做:

    <table>
      <tr onclick="if (event.target.tagName.toLowerCase() !== 'td') return false; ...">
        <td>...</td>
        <td>...</td>
        <td><a>...</a></td>
        <td><a>...</a></td>
      </tr>
    </table>
    

    基本上,此代码应该只处理表中没有任何锚定子元素的单元格上的单击。

    我想做的是:

    if ($.Event(event).target.tagName.toLowerCase() !== 'td') return false; ...
    

    对于 单击 处理程序,但当您以这种方式在jQuery中包装事件时,它似乎不提供 target 现场。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Ryley    14 年前

    $.event.fix(event).target.tagName.toLowerCase() !== 'td'
    

    event.fix

    在这里查看: http://jsfiddle.net/ryleyb/UdJqV/1/