代码改变世界

一些常用的小东东Web版

  时空印记  阅读(265)  评论(0编辑  收藏  举报

 

     一些常用的东东总是会忘记,所以以后会把一些常用到的常识东东汇总到这,主要是方便自己,记忆力超强和超级熟练的人,请绕道。

1.   Jquery 获取服务器控件Id有如何下几种方式:如 <asp:TextBox ID="txtUserID" runat="server"></asp:TextBox>

View Code
 $("#<%=txtUserID.ClientID%>").*
  //or 
 $("input[id*=txtUserID]").*
  //or
 $("*[id$=txtUserID]").*

 

2.  Jquery Click事件和Live 事件:

    我们通常写已经加载好的元素或控件 定义单击事件如下     

复制代码
View Code
$('input').click(function () {
               //CODE
});
//OR
$('.clickme').bind('click', function() {
              // CODE
});
复制代码

如通过动态添加上去的元素或控件,这样定义事件,只有第一次执行事件有效,所以这个时候必须使用 live事件

View Code
$('.clickme').live('click', function() {
    //Code
});

live() 方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(如动态创建的新元素)。

但是,使用jQuery的live()方法绑定事件,有时会出现重复绑定的情况,如,当点击一个按钮时,此按钮所绑定的事件会并执行n遍。

这个时候,我们可以使用die()方法,在live()方法绑定前,将此元素上的前面被绑定的事件统统解除,然后再通过live()方法绑定新的事件

用法:先通过die()方法解除,再通过live()绑定   

View Code
$("#clickme").die().live("click",function(){   
        //code   
 });  

 

 die()方法:die() 方法移除所有通过 live() 方法向指定元素添加的一个或多个事件处理程序。 但是.die()方法会有一个缺点,只可以使用.live()方法中用到的元素选择器

详情可参考:http://www.alfajango.com/blog/exploring-jquery-live-and-die/

同时注意下 .delegate() 和.undelegate(),他们可以替代.live()和.die(),它们联系很紧密。

更多的信息和例子,可以查查jQuery .live() and .die().的文档。

 

3.  在页面中弹出层问题:有可能在页面中JS获取不到弹出层里面的控件值,出现这问题的原因是因为你用 控件把这个层弹出后,这个页面就出现了两个你所要Get的控件(也有可能出现,就只有你弹出这一个层),所要你应该指定 层>控件ID

     如:$("#youDivId #youControl.Client").*  注意层和控件ID的空格,* 代表你所要GET不同控件不同取值方式。

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
点击右上角即可分享
微信分享提示