2013-10-21 52 views
1

如何檢測使用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> 
+0

看看['attrchange' jQuery插件(http://meetselva.github.io/attrchange/) 。 – dashtinejad

回答

0

我不相信你可以主動「監視」一個元素來記錄一個變化,那就是跨瀏覽器。如果你「知道」元素是通過事件處理程序觸發的,當然你可以得到attr

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

當您將屬性應用到元素上時,Jaws瀏覽器知道「內容何時更新」。這是你指的是什麼?

我看到你的詠歎調標籤爲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

1

試試這個,得到滑塊的當前值移動的jQuery

$($('.ui-slider-track.ui-shadow-inset.ui-bar-c.ui-corner-all').children()[1]).attr('aria-valuenow') 
-1
jQuery.fn.extend({ 
    aria:function(arrib,NewVal){ 
    return (NewVal) ? jQuery(this).attr("aria-"+arrib,NewVal) : jQuery(this).attr("aria-"+arrib); 
} 

}); 
+0

歡迎來到SO。請正確格式化您的代碼,並考慮爲您的答案添加上下文。 –