我有一个像下面这样的ajax响应回调。
$.ajax({
type: "POST",
url: "search.php?ajaxrequest=yes",
data: query_string
}).done(function( data ) {
$("#wtb_wm_listing").html(data);
$("#wtb_wrapper_middle_inner").focus();
});
我将返回的数据附加到div“ wtb_wm_listing ”中,我将其放入主div“ wtb_wrapper_middle_inner ”
在追加数据之后,我想关注主要的div“ wtb_wrapper_middle_inner ”
但是当我尝试聚焦时,它对我不起作用,当我点击我的鼠标进入div并尝试按下div页面时,不按键盘箭头滚动。
在这种情况下,当我尝试在该div上使用 hide()或 addClass()时,它会为我工作。
鼠标滚动对我来说是悬停div。
任何人都可以帮我解决这个问题。
注意:
当我在页面加载时关注该div时,当时它运行良好,但是当我将一些ajax响应数据附加到该div时,那个时间只是它不起作用。
答案 0 :(得分:1)
假设#wtb_wrapper_middle_inner
位于#wtb_wm_listing
内,您基本上删除#wtb_wm_listing
内的所有内容以替换为data
,这就是#wtb_wrapper_middle_inner
不存在的原因。
您可以尝试使用append()
答案 1 :(得分:0)
您无法聚焦容器/ div元素。请在此处阅读有关某些用例的文档:https://api.jquery.com/focus/如果您想要关注该div中的特定输入,则可以执行此操作。但是你无法专注于div。虽然您可以为任何元素添加tabindex。这可以模拟焦点。
答案 2 :(得分:0)
作为jQuery docs say about the focus method:
焦点事件在获得焦点时发送到元素。这个事件 隐含地适用于有限的一组元素,例如形式 元素(,等)和链接()。在最近 在浏览器版本中,事件可以扩展为包含所有元素 通过显式设置元素的tabindex属性来显示类型。一个 element可以通过键盘命令获得焦点,例如Tab键,或 通过鼠标点击元素。
Anyways, you can focus a div by adding a tabindex并查看您的密钥滚动是否有效。
请参阅:http://snook.ca/archives/accessibility_and_usability/elements_focusable_with_tabindex
tabindex值可以允许一些有趣的行为。
- 如果给定值为“-1”,则元素无法选项卡,但焦点可以 以编程方式给予元素(使用element.focus())。
- 如果给定值为0,则可以通过键盘对焦元素 落入文件的标签流程。
- 大于0的值会创建一个优先级,其中1是最重要的。
答案 3 :(得分:0)
这就是它的工作原理
window.location.hash = '#wtb_wrapper_middle_inner';
#wtb_wrapper_middle_inner{
margin-top:500px;
height:50px;
width:50px;
background-color:red;
}
<div id='wtb_wrapper_middle_inner'></div>