[英].click() after page load
我第一次嘗試使用URL持久性,並且在頁面加載后,我具有要從URL單擊的元素。 當我加載頁面時,.click()不會注冊,但是如果我在控制台中鍵入它,它將正確執行。 我試過將代碼(特別是(function persistence(formvals){...})();
)放在(document).ready(function(){...})部分中,但這沒有用。 如何獲得.click()以在頁面加載后以及應單擊的每個元素上進行注冊?
網址: http : //specialorange.org/resume/index.html? gc_abstract_heading& gc_ba_analysis
這些部分的兩個ID是: gc_abstract_heading
和gc_ba_analysis
,因此控制台中的$(gc_abstract_heading).click()
有效,只是在代碼中無效。
碼:
var formvals = {};
var keyval = location.search.replace('?', '').split('&');
$.each(keyval, function () {
var splitval = this.split('=');
formvals[splitval[0]] = splitval[1];
});
console.log(keyval);
console.log(formvals);
(function persistence(formvals) {
for ( i=0 ; i < keyval.length ; i++ ) {
console.log(keyval[i]);
$(keyval[i]).click();
};
})();
請注意,此代碼不在實時頁面上,而是在我的本地站點上進行測試。 實時頁面上的持久性部分有所不同。
嘗試這個:
$(document).ready(function () {
var formvals = {};
var keyval = location.search.replace('?', '').split('&');
for (var i = 0; i < keyval.length; i++) {
console.log('Trigger click on: '+keyval[i]);
$('#'+keyval[i]).click();
};
});
首先,我已經添加了文檔就緒型文件,因此該函數在准備就緒之前不會觸發。 第二; 如果網址中的名稱指向ID,則點擊處理程序需要使用#
作為前綴。 如果是班級,請使用更改#
.
。
在這里黑暗中快速刺殺,但我還是可以找到您是否在持久性中單擊或在dom之后使用jquery中的實時單擊更安全。
$(keyval[i]).live("click",function(){});
您必須在document load
(或就緒)以及formvals
聲明時調用persistence()
:
function persistence(formvals) {
for ( i=0 ; i < keyval.length ; i++ ) {
console.log(keyval[i]);
$(keyval[i]).click();
};
}
$(function() {
var formvals = {};
var keyval = location.search.replace('?', '').split('&');
$.each(keyval, function () {
var splitval = this.split('=');
formvals[splitval[0]] = splitval[1];
});
console.log(keyval);
console.log(formvals);
persistence(formvals);
});
如果您要定位ID,則jQuery選擇器缺少“#”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.