我正在构建一个谷歌浏览器扩展程序,我在右侧做一些工作(在我的朋友故事中),事实上,我正在搜索特定的朋友故事,其名称出现在输入元素中,然后单击按钮.我需要调暗/变暗图片中黑色边框中出现的所有其他元素,除了正确的元素,直到他按下X按钮
我不知道如何到达除了一个以外的所有其他元素!:(
图片:

我正在使用 TypeScript 构建 React 应用程序。
我想创建按钮,滚动到主页上子组件的标题。
我已经在子组件中创建了一个引用,遵循此堆栈溢出答案,并(尝试)使用前向引用在我的父组件上访问它。
export class Parent extends Component {
private testTitleRef!: RefObject<HTMLHeadingElement>;
scrollToTestTitleRef = () => {
if (this.testTitleRef.current !== null) {
window.scrollTo({
behavior: "smooth",
top: this.testTitleRef.current.offsetTop
});
}
};
render() {
return <Child ref={this.testTitleRef} />
}
}
interface Props {
ref: RefObject<HTMLHeadingElement>;
}
export class Child extends Component<Props> {
render() {
return <h1 ref={this.props.ref}>Header<h1 />
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我触发时,scrollToTestTitleRef我收到错误:
Cannot read property 'current' of undefined
Run Code Online (Sandbox Code Playgroud)
这意味着 ref 未定义。这是为什么?我究竟做错了什么?
编辑: Estus …
我需要在点击相对左上角获取图像坐标.所以图像的左上角是条件0,0然后第一个像素1,0 ... 2..0等.在javascript构造中有什么东西可以用来获得这个逻辑吗?
I have added visually hidden jump links to my website, that appear when they are focused (similar to e.g. GitHub, just press Tab once on the home page).
我想用 Capybara 测试这种行为。我无法检查例如“可见性:真/假”,因为链接并未真正隐藏(否则屏幕阅读器将看不到它们),而只能通过绝对定位从视口移出。当它们被聚焦时,它们被放置在视口中的原始位置。
所以我想我必须检查 X 和 Y 坐标,但 Capybara 似乎没有提供获取它们的本地方法?这是真的?如果是这样,我将如何为例如元素“#jump_to_content”获取它们?通过执行一些 JavaScript?
更新
我在这里找到了一些灵感:https : //content.pivotal.io/blog/testing-accessibility-with-rspec-and-capybara
但这似乎不适用于我的配置:
link.native.location
NoMethodError: undefined method `location' for #<Capybara::Poltergeist::Node tag="a">
Run Code Online (Sandbox Code Playgroud) 我想使用JavaScript来检查一个div元素(可以被拖动)是否正在触及另一个div元素.
这是一些代码:
<div id="draggable" style="position: absolute; top: 100px; left: 200px; background-color: red; width: 100px; height: 100px;"></div>
<div style="background-color: green; width: 100px; height: 100px;"></div>
Run Code Online (Sandbox Code Playgroud)
可以这样做吗?
如果是这样,怎么样?
编辑:我不想使用jQuery,只是简单的旧JavaScript!
我正在尝试在Angular 2中实现一个自定义指令,用于移动任意HTML元素.到目前为止一切正常,但我现在不知道如何在点击它并想要开始移动时获取HTML元素的初始位置.我结合top和left风格与这两个主机绑定我的HTML元素:
/** current Y position of the native element. */
@HostBinding('style.top.px') public positionTop: number;
/** current X position of the native element. */
@HostBinding('style.left.px') protected positionLeft: number;
Run Code Online (Sandbox Code Playgroud)
问题在于它们都undefined处于起步阶段.我只能更新也会更新HTML元素的值,但我无法读取它?那是假设那样吗?如果是,我有什么替代方法来检索HTML元素的当前位置.
我知道我们可以使用clientWidth和clientHeight获取宽度和高度,但是如何计算元素的左上角和左上角y?
如何找出元素在屏幕上的 x、y 位置,我使用的是 React Native v0.14。我尝试了以下操作,但它说度量不是函数。
componentDidMount() {
setTimeout(this.measurePosition);
},
measurePosition() {
this.refs.q.measure((a, b, width, height, px,py ) => console.log(width))
},
Run Code Online (Sandbox Code Playgroud) 我想通过传递 x,y 坐标来获取元素查询选择器。
或者可能满足坐标的元素很少。
也许我可以执行 mouse.click(x, y) 然后获取单击的元素,但我不希望页面采取任何操作,只是获取元素的查询。
有可能这样做吗?
javascript ×7
html ×2
jquery ×2
angular ×1
css ×1
draggable ×1
facebook ×1
html5 ×1
puppeteer ×1
react-native ×1
react-ref ×1
reactjs ×1
rspec ×1
typescript ×1