【问题标题】:jquery add onmouseover attributejquery添加onmouseover属性
【发布时间】:2012-07-16 23:38:22
【问题描述】:

在 jquery 中,如何向元素添加 'onmouseover' 事件。

例如

<tr id=row bgcolor=white>

变成

 <tr id=row bgcolor=white onMouseOver="this.bgColor='red'">

【问题讨论】:

  • 为什么要添加inline属性?您可以在 jQuery 中使用 .mouseover() 事件
  • 我有几行,row_1、row_2 等

标签: jquery mouseover


【解决方案1】:

您可以使用attr 方法:

$('#row').attr("onMouseOver", "this.bgColor='red'")

但由于您使用的是 jQuery,我建议您使用 on 方法:

$('#row').on('mouseover', function() {
    $(this).css('background-color', 'red');
});

【讨论】:

  • +1 先回答问题,然后指出理想的方法。
【解决方案2】:

如果元素是静态的,试试这个:

var $row = $('#row');
$row.mouseover(function(){
    $row.css('background-color','red');
});

如果元素是动态放置在页面中的,请使用它:

var $row = $('#row');
$row.on('mouseover',function(){
    $row.css('background-color','red');
});

【讨论】:

  • 这两种变体的作用完全相同。如果您希望委托事件处理程序来满足动态添加的元素,您需要使用不同的 .on() 语法 - 请参阅文档。
【解决方案3】:

不要添加属性。使用事件。

$('#row').mouseover(function() {
  $(this).css('background','red');
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多