1

如何使用 jquery 检测一个基本上是带有 aria 的锚标记的标签是否正在向上和向下切换(即它的 aria-labelledby 正在变为向上和向下)

<a href="#" class="ui-slider-updownhandle" data-corners="true" data-wrappers="span" data-theme="c" role="slider" aria-valuemin="0" aria-valuemax="1" aria-valuenow="up" aria-valuetext="Up" title="Up" aria-labelledby="label-1" style="left: 0%;"><span class="ui-btn-inner"><span class="ui-btn-text"></span></span></a>
4

3 回答 3

1

试试这个并获取移动 jquery 滑块的当前值

$($('.ui-slider-track.ui-shadow-inset.ui-bar-c.ui-corner-all').children()[1]).attr('aria-valuenow')
于 2014-10-07T13:14:17.497 回答
0

我不相信您可以主动“监视”一个元素以记录更改,即跨浏览器。如果您“知道”元素何时通过事件处理程序或其他东西触发,当然您可以获取attr.

 if( jQuery('.ui-slider-updownhandle').attr('aria-labelledby') === "UP" ){
   // do something.
 }

当您将属性应用到元素上时,Jaws 浏览器知道“内容何时更新”。你指的是这个吗?

我看到你有 aria-labelledby as label-1,所以当你说“UP”或“DOWN”时不确定你的意思。

请试试这个,我的链接没有用 触发preventDefault(),但这样你就可以看到事件触发了。

 $('.ui-slider-updownhandle').bind('click', function(e){
      //just grabbing some values to show.
      console.log($(this).attr('aria-valuetext'), $(this).attr('aria-labelledby'));
      e.preventDefault();
 })

如果我在您需要的方面偏离基础,我深表歉意。说实话,我不完全确定你需要什么,所以我想从一个假设开始:-)

注意:如果您有问题,请attr尝试prop

于 2013-10-21T04:45:45.463 回答
-1
jQuery.fn.extend({ 
   aria:function(arrib,NewVal){
     return (NewVal) ? jQuery(this).attr("aria-"+arrib,NewVal) : jQuery(this).attr("aria-"+arrib);
 }

});
于 2016-03-03T18:26:02.983 回答