У меня есть эта функция Jquery для нажатия на элемент, когда он будет готов.это интервал, делающий это, следующая функция:
MonitorAndClick(selector) {
var ele = $(selector);
if (ele.length == 0) {
var intervalid = setInterval(function () {
var ele = $(selector);
if (ele.length > 0) {
ele[0].click();
clearInterval(intervalid);
return true;
}
}, 500);
} else {
ele[0].click();
return true;
}
}
проблема в , в некоторых случаях не работает .однако это интервал, и он проверяет готовность элемента каждые 0,5 секунды, так как это возможно?Есть ли другой способ проверить готовность элемента?
дополнительное примечание:
У меня есть гармошка.У меня есть функция, чтобы открыть аккордеон-> открыть один из пунктов-> открыть вкладку в разделе подробностей
это функция:
//--reach to this point, open accordion index 2--------
ShowAccordion(2);
//----open the item with specific Id in accordion items------
setTimeout(function () {
var selector = "tr[gacategory = '/myprotection/mywills/item_" + parseInt(willId) + "]";
MonitorAndClick (селектор);}, 500);
смысл в том, что этот элемент ДОЛЖЕН быть там, иногда он загружается недостаточно быстро, и Я ХОЧУ ИМЕТЬ ПУТЬ, ЧТОБЫ ПРОВЕРИТЬ, ЕСЛИ ЕГО ЗАГРУЖЕНО, ТО НАЖМИТЕ НА ЭТО.
Обновлен код после комментариев
var selector = "tr[gacategory = '/myprotection/mywills/item_" + parseInt(willId) + "]";
$("#selector").ready(function () {
console.log('**********.... selector is loaded ....*****');
if (!$("#selector").hasClass('selected'))
MonitorAndClick(selector);
});
все еще не работает.