我想要做的是,找到网页上每个元素 id 上所有可能的操作(单击、悬停等)。
以下是我为此所做的努力:
function executeInteractions($) {
for (var interaction_count = 0; interaction_count < interactions.length; interaction_count++) {
var obj = interactions[interaction_count];
for (var event_count = 0; event_count < obj.events.length; event_count++) {
(function(elem, event_name, e_count, i_count, t_i_count) {
setTimeout(function() {
elem.trigger(event_name);
var sendData = {id : elem.attr('id') , event_n: event_name }
&.post("link#",sendData)
setTimeout(function() {
}
}, 10);
if (i_count + 1 >= t_i_count) {
window.interactionsComplete = true;
}
}, 500 * i_count);
}(obj.item, obj.events[event_count], event_count, interaction_count, interactions.length));
}
}
}
function findInteractions($) {
$(document).click(function(e) {
e.preventDefault();
});
$(document).submit(function(e) {
e.preventDefault();
});
var node, toBeProcessed = new Array;
toBeProcessed.push($('body')[0]);
while (toBeProcessed.length) {
node = $(toBeProcessed.pop());
var eventObject = node.data('events');
if (eventObject) {
var events = [];
for (var e in eventObject) {
events.push(e);
}
interactions.push({
'item': node,
'events': events
});
}
var childrens = node.children();
if (childrens && childrens.length > 0) {
for (var i = 0; i < childrens.length; ++i) {
toBeProcessed.push(childrens[i]);
}
}
}
}
window.interactions = [];
当服务器端收到post请求时,我得到很多id的空值。
有人可以在这里帮助我,或者建议任何其他有效的方法来捕获网页上 id 元素上的所有可能的操作。
最佳答案
您可以为页面上的每个属性应用唯一的类,然后在其上编写 .click()/.mouseover()
JQuery 事件。
HTML:
<p class="uniqueClass">1st para</p>
<p class="uniqueClass">2nd para</p>
JQuery 代码:
<script>
$( ".uniqueClass" ).click(function() {
alert("Clicked");
});
</script>
对于鼠标悬停,您可以使用 .mouseover() 函数,例如:
<script>
$( ".uniqueClass" ).mouseover(function() {
alert("Mouse Over");
});
</script>
关于javascript - 网页上所有 id 标签均可进行鼠标操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24933015/