使用 jquery 检测 aria-labelledby 值的变化
Detect change in aria-labelledby value using jquery
如何使用jquery检测,基本上是和带有咏叹调的锚标签是否正在向上和向下切换(即其咏叹调标签正在更改为向上和向下)
<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>
试试这个并获取移动jquery滑块的当前值
$($('.ui-slider-track.ui-shadow-inset.ui-bar-c.ui-corner-all').children()[1]).attr('aria-valuenow')
我不相信你可以主动"监控"一个元素来记录一个变化,那就是跨浏览器。如果您"知道"元素何时通过事件处理程序或其他东西触发,当然您可以获得attr
。
if( jQuery('.ui-slider-updownhandle').attr('aria-labelledby') === "UP" ){
// do something.
}
当您将属性应用于元素时,Jaws 浏览器知道"何时更新内容"。这就是你所说的吗?
我看到你有咏叹调标签为label-1
,所以不确定你说"向上"或"向下"是什么意思。
请尝试此操作,我的链接没有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
。
jQuery.fn.extend({
aria:function(arrib,NewVal){
return (NewVal) ? jQuery(this).attr("aria-"+arrib,NewVal) : jQuery(this).attr("aria-"+arrib);
}
});
相关文章:
- 单击页面上的链接后高度发生变化
- React redux初始化功能,无论状态变化如何
- 角度ng变化或ng点击选择can'不起作用
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- JS幻灯片与CSS背景颜色变化
- 重新加载页面时Javascript变量发生变化
- 如何获得Bootstrap Datepicker的年和月,因为它在变化
- 如何用jquery替换字符串中可能变化的字符
- 检测数据的变化
- 如何检测和打印变化变量LESS
- 当文本不断变化时,如何避免在按钮内移动文本
- 当数据库中的某些内容发生变化时调用HTTP方法Meteor.js
- jQuery将侦听器的大小调整为只触发宽度的变化
- 根据元素高度和宽度的百分比变化增加或减少字体大小
- 调用$.each()函数时上下文发生变化
- 创建一个不断变化的谷歌涂鸦风格的标题
- Javascript对象颜色动态变化
- 如果在编辑中下拉值发生变化,如何执行功能
- 在bootstrap3模式中以谷歌地图为中心发布..不断变化
- 使用 jquery 检测 aria-labelledby 值的变化