我有一个被遮挡的脚本(即无法从脚本中读取div元素)。在检查DOM元素中渲染时,我可以找到我想要为其分配函数的div。但是我不能这样做。我是否需要脚本中的div id(即模糊的div id)?
我想点击功能并计划如下:
<script>
$(document).ready(function () {
$('.contentoverlay').on('mouseover', function() {
click();
});
});
</script>
脚本本身很长,所以我不会在这里粘贴它。
总的来说,我想知道:答案 0 :(得分:0)
示例:http://output.jsbin.com/joxetuc
首先,我想先解释一下我的评论,然后我会在最后回答你的3个问题
A)说实话,我的英语不好,我不知道什么是“模糊”的意思(即使我谷歌这个),但我认为这意味着新创建的DOM(动态创建元素)是由javascript。像这样:
启动了DOM <table></table>
新DOM <tr><td>texttt</td></tr>
结果<table><tr><td>texttt</td></tr></table>
如果这不正确,我的下面的答案将是错误的。
B)所以,在jsbin示例中,我只给你div#container。然后在单击创建按钮时在div#container中创建新DOM。
C)我创建了1个函数来处理是否单击了新的DOM,这将把$(元素).text()写入div.log
//function to execute if element clicked
$('.container').on('click', '#newid', function(i,e){
var txt = $(this).text();
$('.log').append(txt+' ');
});
D)我在点击功能中也使用相同功能处理事件鼠标悬停。因为我很懒,我只写$(this).click();
$(this)
是指div#newid
//if mouseover, perform click
$('.container').on('mouseover', '#newid', function(i,e){
$(this).click();
});
所以,在jsbin中,我将向您展示如何处理鼠标悬停新DOM以执行click()函数。
1)我是否需要找到模糊脚本的div并将其点击功能分配给它?
你不需要它,只要你知道如何找到那个元素。
2)上述功能是否正确?
这不是正确的功能。正确的1是:
parentElemenentOfNewDOM.on('mouseover', newDOMElement, function() {
$(this).click(); //this will perform your default click function that you give before
});
3)如果有多个叠加层,我必须将上面的功能分配给每个叠加层(叠加层本身是鼠标指针无,所以它们确实传递了点击次数,但上面的函数会传递下来或如果我不将其分配给所有叠加层,甚至会被阻止?
你不需要分配相同的功能来处理多个元素(叠加)。您需要的是处理所有新多元素的正确脚本。我的脚本将处理所有新元素。
如果您想了解其他内容,请参阅此演示http://output.jsbin.com/vukudu