使用jquery覆盖VB代码

时间:2014-09-25 10:14:08

标签: javascript jquery vb.net

我遇到了vb.net网页的问题,我通过在page_load中注释掉.Focus()来解决这个问题。但是,客户在下次发布之前不会收到此修订。

我的问题是,是否可以通过外部js文件使用jquery实现相同的结果。即。我想知道我是否可以通过使用某种jquery魔法来“绕过”page_load中的'.Focus()'行?

我猜答案是“不”,但我仍然充满希望! : - )

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

如果您拥有控件(或名称)的ID,则可以通过调用以下方式将焦点设置为:

$(document).ready(function(){
    $('#elementId').focus();
    // or
    // $('input[name="elementName"]').focus();
}

这将改变重点是什么,而不是取消设定焦点

如果你知道你可以做的焦点元素的ID:

$(document).ready(function(){
    $('#elementId').blur();
    // or
    // $('input[name="elementName"]').blur();
}

取消对焦。

您也可以这样做:

$(document).ready(function(){
    $('input').blur();
}

如果您只想取消所有/任何输入的焦点

在我的测试中,这将覆盖asp.net设置焦点的尝试(阅读:asp.net将集中一件事,你的脚本将在之后关注另一件事,所以这里可能存在控制竞争,但至少在我的页面(asp.net c#)和chrome这个工作,以便jquery.focus最后运行,因此获胜:))

修改/更新: 如果控件获得焦点而不是焦点的问题,你可以覆盖在你的代码隐藏中调用.Focus()时asp.net使用的auto_focus函数。

对我而言,这有效:

WebForm_AutoFocus = function () { };

然而,这可能导致其他事情无效(我不知道除了从代码隐藏设置.Focus()之外,这个javascript函数是否用于其他事情,但它可能值得尝试。) 你还应该在你的代码中“迟到”设置它,例如:在asp.net运行时将WebForm_AutoFocus渲染到你的页面之后,我不知道这样做了。