jquery 动态绑定bind()及模拟鼠标点击A链接
近来自觉前端有小小进步,幸而记之。
1、两个 css class 紧挨在一起
则在html元素中,要同时拥有这两个class,才能起作用
.block.db{
background-image:url(/cas/images/hnhy/db.png);
}
<div class="block db"><div class="btn btn_bg" ></div></div>
2、动态绑定事件
动态绑定,可以节省代码。设想有一张列表,每行都有一个鼠标移入移出的事件处理,假如事先写好,代码得多出不少。用JS脚本动态绑定,则非常简洁:
$(function(){
$(".block div.btn").bind("mouseover",function(){
$(this).removeClass("btn_bg").addClass("btn_bg_on");
});
$(".block div.btn").bind("mouseout",function(){
$(this).removeClass("btn_bg_on").addClass("btn_bg");
});
});
这里有个问题,就是事件处理中,如何知道哪个元素触发了事件?如果是html中预先写好,当然可以将“this”参数传进去。动态绑定呢?酱紫:$(this)。
另外,这里说的是jquery 的 bind(),而不是标准 javascript的bind()。后者与apply,call一样,改变this指针,唯一不同的是,bind()不是立即执行,而是返回一个函数。详见拙作:Javascript中的apply、call、bind
3、代码模拟鼠标点击 a 链接
假设有
<a id="a" href="" target="_blank" style="display:none;">jump</a>
则下面语句不起作用。是点击了a没错,可以触发其click事件,但并没有跳转:
$("#a").click();
原因是,我们在网页中点击链接,其实点击的是链接中的文字或图片什么的,而不是链接本身。因此,应该酱紫写:
$("#a")[0].click();
4、两个符合条件的选择器:
$("#firstmenu li:first,#firstmenu li:last").bind('mouseout', function () {
if ($(this).attr("attr1") == '0') {
$(this).removeClass("hy_mainmenu_active");
}
});
jquery 动态绑定bind()及模拟鼠标点击A链接的更多相关文章
- 使用JS或jQuery模拟鼠标点击a标签事件代码
原文 使用JS或jQuery模拟鼠标点击a标签事件代码 这篇文章主要介绍了使用JS或jQuery模拟鼠标点击a标签事件代码,需要的朋友可以参考下 <a id="alink" ...
- 使用JS或jQuery模拟鼠标点击a标签事件
<a id="alink" href="abc.aspx" style="visibility: hidden;">下一步&l ...
- 使用jQuery模拟鼠标点击a标签事件
来源于:https://mo2g.com/view/42/ <html> <head> <meta charset="UTF-8"> <t ...
- Unity问答——NGUI怎么使用按键模拟鼠标点击?
这篇博客源自我在泰课在线的回答.链接:http://www.taikr.com/group/1/thread/248 问:NGUI怎么模拟用代码模拟控制点击 答: 1. 这个问题问得好.因为在使用按键 ...
- 利用JS最真实的模拟鼠标点击
为了破解永乐票务登录验证码问题 http://www.228.com.cn/auth/login?logout 当然,打码的过程自然依赖第三方平台,但问题是,哪怕平台给了你需要点击的(相对)坐标.你又 ...
- MFC模拟鼠标点击
MFC 工程 把以下代码放到你想要响应的函数里面就行 CPoint pt; GetCursorPos(&pt);//获取鼠标在屏幕的当前位置 SetCursorPos(100,200);//移 ...
- sendmessage()模拟鼠标点击
{鼠标软模拟:好处就是不会真的移动鼠标 开始按钮 坐标 x=386y=387 }sendmessage(hookHwnd,messages.WM_LBUTTONDOWN ,0,$0180017A); ...
- c# 在WebBrowser中用SendMessage模拟鼠标点击
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Teamviewer 远程控制时 无法正常操作鼠标点击
其中一种可能: 本机开启了360的64位Intel-VT核晶防护后,用Teamviewer远程到本机,远程电脑无法操作本机的鼠标点击(左右键都不行),查看日志显示拦截了模拟按键.关闭核晶防护就可以正常 ...
随机推荐
- openwrt procd分析
procd源码中有很多个main入口,有点懵,不知道procd之外的其他程序是干嘛的.先找资料大概了解了一下procd是什么,然后是守护进程,再然后是openwrt启动流程等等. openwrt启动流 ...
- ArchLinux 安装笔记
前言 在开始之前,请在心中默念三遍: Arch Linux 是世界上最好的发行版, 我一定能掌握她. 环境 VM ware + UEFI + 500G 虚拟磁盘 + 2G 内存 + 桥接网络 下载镜像 ...
- mongodb 的创建和使用
1. sudo apt-get install mongodb 2. 登陆数据库: mongo, 3. 创建数据库:use dbname 4. 插入数据: db.dbname.insert({&quo ...
- 什么是Istio
本文主要是对Istio Prelim 1.0(https://preliminary.istio.io/docs/)的翻译 Istio:一种开放式平台,用于连接,管理和保护微服务. Istio提供了一 ...
- msp430项目编程16
msp430中项目---电子秒表 1.定时器工作原理 2.电路原理说明 3.代码(显示部分) 4.代码(功能实现) 5.项目总结 msp430项目编程 msp430入门学习
- msp430入门编程34
msp430中C语言的可移植--消除硬件差异
- msp430入门编程17
msp430中C语言的寄存器操作 msp430入门学习 msp430入门编程
- 混合APP开发框架资料汇总
Ionic(ionicframework)一款接近原生的Html5移动App开发框架 会html css js就可以开发app,Ionic基于angualrjs框架是一个专注于开发移动wap以及app ...
- python学习之-- mysql模块和sqlalchemy模块
简单介绍python下操作mysql数据库模块有2个:pyhton-mysqldb 和 pymysql 说明:在python3中支持mysql 的模块已经使用pymysql替代了MysqlDB(这个 ...
- P2820 局域网 洛谷
https://www.luogu.org/problem/show?pid=2820 题目背景 某个局域网内有n(n<=100)台计算机,由于搭建局域网时工作人员的疏忽,现在局域网内的连接形成 ...