我正在嘗試根據 URL 的查詢字串使觸發器作業,我使用此代碼獲取 URL 字串
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = window.location.search.substring(1),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i ) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
}
}
};
一旦我得到它,我就把它放在一個 if then else 中,如下所示:
$(document).ready(function () {
let code_para = getUrlParameter("code");
if (code_para == "one") {
$("#one").trigger('click');
} else if(code_para == "two") {
$("#two").trigger('click');
} else if(code_para == "three") {
$("#three").trigger('click');
} else if(code_para == "four") {
$("#four").trigger('click');
} else if(code_para == "five") {
$("#five").trigger('click');
} else {
//do nothing
}
});
但問題是觸發器部分不起作用我已經為完整代碼Fiddle附上了一個 小提琴
uj5u.com熱心網友回復:
幾個建議 - 您可以簡化您的邏輯并簡單地使用 code_para 作為選擇器上的識別符號(假設 code_para 實際上與您要單擊的元素的 id 相同。不是 else 塊仍然在code_para 的 avbsence)。
$(document).ready(function () {
let code_para = getUrlParameter("code");
if (code_para)
{
$("#" code_para).trigger('click');
} else {
//do nothing
}
});
但不是觸發對另一個 DOM 元素的點擊 - 我會觸發點擊導致的功能 - 所以如果這些專案在點擊時有功能 - 那么我會直接觸發該功能 - 而不是刺激然后觸發的點擊事件功能....
uj5u.com熱心網友回復:
你的問題是點擊#three(例如)什么都不做(基于提供的小提琴)。
所以觸發點擊,什么都不做。
這不是(只是)為時過早,因為其他系結(hover和click)是 on .box3,而不是#three. 您需要在 上觸發.box3,例如:
$(()=> $(".box3").trigger('mouseover').trigger("click") )
所以你的 ( switch) 需要轉換:
if (code_para == "one") {
$(".box1").trigger('mouseover').trigger("click")
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/358402.html
標籤:javascript html 查询
上一篇:Reactjs將新物件推送到陣列總是替換最后一個物件而不是插入
下一篇:回呼函式中的詞法環境是什么?
