我想要做的是,找到网页上每个元素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元素的所有可能操作。
答案 0 :(得分:0)
您可以在页面上为每个属性应用唯一类,然后在其上编写.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>