2

我有一个标准的 asp 按钮,点击它会触发:

protected void btnDealItem_Click(object sender, EventArgs e)
{
    divMyDiv.Style.Add("background-position", "70px 0");
}

问题是,当单击按钮时,背景不会向右移动 70 像素。

这是解决这个问题的正确方法还是语法问题?

4

2 回答 2

1

您可以使用 JQuery 在客户端执行此操作:http: //jquery.com/

我从您的代码中假设您不想对按钮的单击事件执行任何其他操作。该行return false;阻止按钮将页面发回。

 $(document).ready(function () {
     $("#" + <%= btnDealItem.ClientID %>).click(function() {
          $(this).attr("style", "background-position:70px 0;" );
          return false;
     });
 });

或者

<style>
     .backgroundshift {
        background-position: 70px 0;
     }
</style>


 $(document).ready(function () {
     $("#" + <%= btnDealItem.ClientID %>).click(function() {
          $(this).addClass("backgroundshift");
          return false;
     });
 });
于 2010-08-24T09:41:01.410 回答
0

问题是样式是在单击按钮后在服务器端定义的。简化的场景是这样的:

  1. 服务器第一次呈现页面。
  2. 用户单击按钮。
  3. 服务器调用 button_click 事件。
  4. 服务器呈现页面。
  5. 用户可以看到更改了背景图像位置的按钮。

如果您想在单击按钮后立即实现更改,请通过 java 脚本使用客户端脚本。

于 2010-08-24T09:48:53.117 回答