1.JavaScript中什么是伪数组?
1、拥有length属性,按索引方式存储数据。
2、不具有数组所具有的方法,如push(),prop()等。
2.jQuery中的四个内容选择器
1、:empty var $div= $(“div:empty”);//找到既没有文本又没有子元素的div
2、:parent var $div=$(“div:parent”);//先找到所有的div,然后找到有文字内容或子元素的div
3、:contains(text); var $div=$(“div:contains(“我是”)”);//找到有包含指定文本内容的div
4、:has(selector); var $div=$(“div:has(“span”)”);//找到含有指定子元素的div
3、jquery如何阻止事件冒泡和默认行为?
在子元素事件添加return false或者添加event.stopPropagation();方法阻止冒泡事件和默认行为。
4、trigger()和triggerHandle()方法的用法和区别:
Trigger:如果利用trigger自动触发事件,会触发事件冒泡,也会触发默认行为。(自动跳转,选择trigger自动触发事件更好,可以实现页面跳转)
TriggerHandler自动触发事件,不会触发事件冒泡,不会触发默认行为。
//$(“.son”).trigger(“click”);
//$(“.son”).triggerHandle(“click”);
如果想要触发a标签的,需要在a标签内加一个span标签。
//$(“span”).trigger(“click”);
5、jquery事件命名空间面试题。☆
$(“.father”).on(“click.ls”,function () { alert(“father click1”);});
$(“.father”).on(“click”,function () { alert(“father click2”);});
$(“.son”).on(“click.ls”,function () { alert(“son click1”);});
$(“.son”).trigger(“click.ls”);
$(“.son”).trigger(“click”);
利用trigger触发子元素带命名空间的事件,那么父元素带相同命名空间的事件也会被触发,而父元素没有命名空间的事件不会被触发。
利用trigger触发子元素不带命名空间的事件,那么子元素所有的相同类型的事件和父元素所有相同类型的事件都会被触发。
6、jquery的事件委托是什么?
请别人帮忙做事情,然后将做完的结果反馈给我们。
当入口函数执行后,加一个监听事件,比如在ul中动态添加li
$(“ul”).delegate(“li”,”click”,function () {
Console.log(); });
7、用hover()可以同时写鼠标移入移出事件。
hover(function () {
$(this).addClass(“current”);
},function () {
$(this).removeClass(“current”);
})