- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我真的很想得到一些帮助...我被屏蔽了!
好的,这是一个简单易行的问题,但我遗漏了一个关键部分。
这是我的 fiddle ,当我点击它时我可以“找到”该元素,但仅此而已。
http://jsfiddle.net/pborregg/w6pbfuae/1/
这是 JS:
function getEventTarget(e) {
e = e || window.event;
return e.target || e.srcElement;
}
var ul = document.getElementsByClassName('commentlist')[0];
ul.onclick = function(event) {
var target = getEventTarget(event);
alert(target.innerHTML);
};
这是我应用中的 HTML:
<pretty-scroll>
<ul class='commentlist'>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</pretty-scroll>
这是让我继续做这个的 Stackoverflow 问题:
Get Clicked <li> from <ul onclick>
我需要的是单击鼠标时鼠标位置的中心值。
在下图中,您会看到“已接受”一词。当我点击它时,我所需要的只是 li 元素最左边的 X/Y 位置。
每条记录可以有“n”条评论,您唯一可以点击评论的地方就是“已接受”这个词所在的位置。注意:Accepted 是一个测试词,它可以是一个句子,也可以只是一个简单的词。
我想要得到的是每个 li 元素的中间点。就是这样。好消息,在页面上,我希望我的模态出现的地方开始于: transform: translate(40px, 120px);下一个 li 在 Y 轴上正好向下 125px,以此类推。
基于不同的视口(viewport)大小、笔记本电脑、台式机、大型显示器、小型显示器等……我如何才能精确定位? (基本上,li 元素的死左中心)。 LI 高度完全相同:例如,我们使用 100px:50px 因此是死点。
坏消息:我无法触摸现有代码,只能使用我传递到我的 .ts 文件中的事件,如下所示:
public setModalLocation(xpos: any, ypos: any): void {
console.log("This X:", xpos);
console.log("This Y:", ypos);
//base modal location for first comment(x40,y120)
const ul = document.getElementsByClassName('commentlist')[0] as HTMLElement;
let srcEl;
let tarEl;
let e = window.event;
srcEl = e.srcElement;
tarEl = e.target;
console.log("Target: ", tarEl);
console.log("SrcElement: ", srcEl);
//The xpos and ypos should be x=40 and y=120 for the first comment. Each comment is 125px y lower.
//Need to move the modal with the scroll Y of the mousewheel.
//FIXME: THIS IS A STUB and cannot be used for all... this just gets me to the FIRST <li> in the list of comments.
if (xpos !== "50") {
xpos = "50";
}
if (ypos !== "120") {
ypos = "120";
}
this.css.outerWrapper.transform.newxy = "translate(" + xpos + "px" + ", " + ypos + "px)";
this.theMovingModal.style.transform = this.css.outerWrapper.transform.newxy;
}
最佳答案
我做了一些更改并添加了一些代码来实现您想要的。
function getEventTarget(e) {
e = e || window.event;
return e.target || e.srcElement;
}
var ul = document.getElementsByClassName('commentlist')[0];
ul.onclick = function(event) {
var target = getEventTarget(event);
var elemPos = getOffset(target);
alert(target.innerHTML + " ::: " + elemPos.top + " : " + elemPos.left);
};
function getOffset(el) {
var _x = 0;
var _y = 0;
while (el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {
_x += el.offsetLeft - el.scrollLeft;
_y += el.offsetTop - el.scrollTop;
el = el.offsetParent;
}
return {
top: _y,
left: _x
};
}
getOffset
函数计算元素的顶部和左侧位置。
关于html - 使用 Typescript 检索 <li> 的确切 X/Y 值,无论鼠标在何处单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54918282/
好吧,标题说明了一切。我的 javascript 函数构建一些“ block ”并使用 和 创建它们。问题是,它删除了所有其他 在网页上。 编辑:(好吧,我假设这个函数是造成这个的原因。删除我的意思是
这个 HTML 结构有效吗? Item 1 Item 2 Item 3 Item 4 Item 5 Item 6
我正在尝试在 UL 中添加标题因为你不能在 UL 中使用 H2如果按照我展示的方式使用它可以吗? News roll News 1 News 2 我的一位 friend 告诉我
这是我的 代码风格。 li{ font-family: Arial, sans-serif; font-size: 100%; color: black; display : list-item;
我正在使用 a 进行水平导航,感谢问题:Separators For Navigation ,我读到了使用 li + li 设置基于图像的元素分隔符的好方法。 (伪?)选择器。 在我的代码中,我为
我有一个 Div 容器,其中包含 4 我正在做的是在前面加上 进入并删除最后一个 我很容易使用 $('#news-ul li:last').remove() $('#news-ul').prepe
这是 html: menu item menu item menu item menu item menu item 如果我按“a”链接,它会将“当
我有 ul-li 列表 1 2 3 A B 我可以在列表中使用纯 css 最后一个选择器“.digit”吗? .digit 的数量未知 ul li.digit:nth-last-ch
我有这种情况,1- 我想删除一个带有两个图标的 li,它作为一个跨度在里面:一个是选中或取消选中相应的 li,另一个是删除那个 li。2- 我还想通过单击图标(选中图标)同时单击 li 来选中或取消选
如果标题不好理解,我来解释一下... 我有一个 css/jquery 切换菜单。按“+”号时它变大,按“-”号时它变小。我使几个元素的填充、边距和高度在切换/单击时发生变化。菜单顶部充满了链接,然后当
我有一个脚本 ( JsFiddle here ) 检测 li block 元素何时在页面上垂直居中并为其分配一个 .centered 类以使其更大通过 CSS。 .centered { hei
代码在这里:http://jsfiddle.net/C5mTf/49/我不知道为什么。下面的代码有问题吗? $("#menu").on('click','li',function (){ va
我为这个问题苦苦挣扎了几个小时,但仍然无法解决问题。 我有这样的 html 代码: aaaa11 bbbb11 我想知道如何使用 css 让 每里一行显示。但是 标签仍然具有垂
我需要使用水平缩放的 ul > li > ul 的组合来创建一个菜单。每个 ul 都应该有一个 max-height 并在溢出时滚动。悬停在 li 上时,如果里面有另一个 ul 标签,它应该会在右侧打
我了解到,如果我指的是 在 内或 在 CSS 中我应该使用 ol > li或 ul > li但是一旦我忘记在 ol 和 li 之间放置标志,我发现它仍然有效。执行此操作的正确方法是什么? 最佳答案
Question 1 Answer: $('#addquestion').click(function() { var $question_number
我如何在 中显示我的数组值? 我的代码: HTML JS var myList = [ ['1','one'], ['1','two'], ['1','th
我在使用代码编辑器时遇到了问题所以就在这里 Item1 Item 1.1 Item 1.2 Item2
我正在为我的网站创建响应式移动版本。正如您在此 jsfiddle 中看到的那样, 当用户将鼠标悬停在 上时项,菜单打开但覆盖了 而不是展开菜单。 我已经添加了 display: block在不同的地
我正在尝试创建一个网站,但我偶然发现了一个小问题,我正在使用 bootsnipp(一个侧面菜单)中的一个片段,我无法让它工作,所以链接将覆盖整个 LI,而不是你必须按自己的文字如果我改变它,那么它会坐
我是一名优秀的程序员,十分优秀!