分类 "JavaScript" 下的文章

问题:如何将元素显示在页面上
解决:
document.querySelector('#arrow').scrollIntoView(false);
这样id为arrow就显示在电脑窗口上了
注意:如果#arrow在滚动元素中,两个滚动条都会滚动

问题:如何压缩js代码?
解决:使用grunt进行任务处理,可以检查每个 JS 文件语法、合并两个 JS 文件、将合并后的 JS 文件压缩、将 SCSS 文件编译、新建一个本地服务器监听文件变动自动刷新 HTML 文件等功能

参考:http://yujiangshui.com/grunt-basic-tutorial/

问题:html页面样式<div>设置:<input type="text"/></div>,希望div失去焦点时进行隐藏,但鼠标点击input时不隐藏
解决:这种逻辑是错误的,因为焦点只有一个,要么div,要么input,不可以同时都有焦点,但可以通过其它方法实现这样的效果
方法:
方法一:使用mouseleave事件替代blur事件,但这样和blur效果有差
$('div').mouseleave(function(){
$('div').hide();
});
方法二:使用document的click事件替代blur事件,但要记得防止div冒泡事件(推荐)
$(document).click(function(){
$('div').hide();
});
$('div').click(function(e){
e.stopPropagation();
});

注:div要想获得焦点,必须增加属性<div tabindex="1"></div>,这样就可以使用js的focus()方法进行获得焦点了

问题:如何给iframe内的元素添加点击事件?如何获取iframe内的元素
解决:此处使用jquery
方法:
$('#iframeID').contents().find('#元素id')

拓展:在iframe内获取父页面的元素

$(window.parent.document).find(""#元素id");
或者:$("#元素id",window.parent.document);

$('#login_res').on('click',function(){
parent.$(window.parent.document).find('#regis').click();
});
$('#login_res').on('click',function(){
parent.$(window.parent.document).find('#regis').click();
})

参考:https://blog.csdn.net/weixin_38047955/article/details/78803291