当父元素被overflow:hidden隐藏时,阻止tabbing链接

时间:2017-03-24 04:16:47

标签: javascript html css browser

我有一个可滚动的<div class="custom-pagination"> Page <?=Html::dropDownList('myPagination', '1', $pageOptions);?> Of <?=$pageCount;?> </div> //******** my gridview which is wrapped by pjax //******** <script type="text/javascript"> var base = "<?=Yii::$app->request->getAbsoluteUrl();?>"; $(".custom-pagination select").on('change', function(e){ $.get( base, {'page': $(this).val()}, function( data ) { $.pjax.reload({container:'#kv-grid-demo-pjax', url: base}); }); }); </script> ,其中包含一系列链接。即使我已将div设置为public function actionIndex() { $searchModel = new RotaryInputSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); $pageCount = ceil($dataProvider->getTotalCount() / $dataProvider->getPagination()->getPageSize()); $pageOptions = array(); for($i=1; $i<=$pageCount; $i++) { $pageOptions[$i] = $i; } if (isset($_GET['page'])) { $dataProvider->pagination->page = $_GET['page']; echo json_encode('success'); die(); } return $this->render('index', [ 'dataProvider' => $dataProvider, 'searchModel' => $searchModel, 'pageCount' => $pageCount, 'pageOptions' => $pageOptions, ]); } ,要隐藏某些链接,在浏览器中进行选项卡时仍可访问它们。有没有办法在不使用jquery的情况下阻止这种情况?

&#13;
&#13;
div
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

简短的回答是不,不是我所知道的。这是因为overflow: hidden;仅是视觉修饰符,并非旨在限制功能。这就是可访问性的工作方式。您必须删除DOM中的项目功能,方法是隐藏它(display: nonevisibility: hidden),禁用它,或通过将各个元素设置为tabIndex将其从tabIndex="-1"中删除}。由于CSS无法真正告诉隐藏的内容以及jQuery可以做什么(伪造的类还没有到目前为止),jQuery仍然是你最好的选择。

这里有一些很好的额外信息:Tabbing causes overflow content to shift up