【问题标题】:jQuery event on attribute change关于属性更改的 jQuery 事件
【发布时间】:2013-01-10 16:16:43
【问题描述】:

当 div 的 data-page-index 属性发生变化时,我需要一个函数来运行

  var active = $('.swipeview-active'),
      dpi =  parseInt(active.attr('data-page-index')),
      left = $('[data-page-index="' +prev+ '"]').children("img").eq(0),
      right = $('[data-page-index="' +next+ '"]').children("img").eq(0);

    $(active.attr('data-page-index')).change(function(){

    right.clone( true ). css({'z-index': 5}). fadeIn(2000).appendTo('#right');
    left.clone( true ). css({'z-index': 5}). fadeIn(2000).appendTo('#left');
    });

我尝试了 change() 函数,但它似乎只适用于输入字段,

    $(active.attr('data-page-index')).change(function(){    

还有其他方法可以实现吗?谢谢。

【问题讨论】:

标签: jquery html


【解决方案1】:

看来还是要操作DOM才能触发事件?如果是这样,您可以操纵隐藏输入的值,而不是操纵其他元素的数据属性。然后您可以使用change 触发器。

  var active = $('.swipeview-active'),
      dpi =  parseInt(active.attr('data-page-index')),
      left = $('[data-page-index="' +prev+ '"]').children("img").eq(0),
      right = $('[data-page-index="' +next+ '"]').children("img").eq(0),
      dpiInput = $('.swipeview-active input:hide');

  dpiInput.change(function(){
    right.clone( true ). css({'z-index': 5}). fadeIn(2000).appendTo('#right');
    left.clone( true ). css({'z-index': 5}). fadeIn(2000).appendTo('#left');
  });

触发器:

$('.swipeview-active input:hide').val(1).trigger('change');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-15
    • 2018-06-30
    • 1970-01-01
    • 2020-01-26
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    相关资源
    最近更新 更多