我的页面中有javascript,我在那里使用click事件。问题是,即点击不会马上开始,但只有在洞穴javascript完成后才会出现。 然后它会触发该点击事件!
我需要立即开始,之前其他javascript代码!
$(document).ready(function() {
// sorting the list
var myLink = document.getElementById('header3');
myLink.click();
// scrolling the list to where the modified row is
if ('${rowId}') {
var row = $('#row-${rowId}');
row.addClass("highlight");
var scrollParent = ((jQuery.browser.msie) ? row.parent().parent().parent()[0] : row.parent()[0]);
row[0].scrollIntoView(false);
if (scrollParent.scrollTop > 0)
scrollParent.scrollTop = scrollParent.scrollTop + (scrollParent.clientHeight / 2);
}
}
在滚动之前应该进行排序!即,点击在滚动后发生,然后滚动位置错误。 在Firefox中,这有效!
你能帮我解决这个问题吗?
答案 0 :(得分:0)
假设(从来不是一件好事)在click事件代码之前执行的代码是你在click()调用下面输入的代码,为什么不将它重构为函数并使其成为一部分调用click()代码时发生的代码?
答案 1 :(得分:0)
试试这个。将代码放在单独的函数中,并在单击中触发该函数。
$(function(){
function yourfunction(event)
{
//code to be executed after the click
// scrolling the list to where the modified row is
if ('${rowId}') {
var row = $('#row-${rowId}');
row.addClass("highlight");
var scrollParent = ((jQuery.browser.msie) ? row.parent().parent().parent()[0] : row.parent()[0]);
row[0].scrollIntoView(false);
if (scrollParent.scrollTop > 0)
scrollParent.scrollTop = scrollParent.scrollTop + (scrollParent.clientHeight / 2);
}
return false;
}
});
$(document).ready(function() {
// sorting the list
$('#header3').click(yourfunction);
});
希望它有所帮助, Cumps