美文网首页
JavaScript进阶-4

JavaScript进阶-4

作者: Harper324 | 来源:发表于2019-01-16 00:22 被阅读0次

1、使用模板字符串可以动态添加标签到HTML页面

//生成标签
var lis = todos.map(ele =>`<li id=${ele.id} onclick="changeStatus(event)">${ele.content}</li>`

//添加标签到父标签下
    document.getElementById('todoList').innerHTML = lis.join('\n');

2、使用createElement()appendChild()动态添加标签到HTML页面

var span = document.createElement('span');
span.innerHTML = '&times;';
 li.appendChild(span);

3、添加回车事件

document.onkeyup = function (e) {
    var code = e.charCode || e.keyCode;
    if (code == 13) {
        mycode;
    }
}

4、JS事件代理
事件代理又叫事件委托,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。

  • 原理:
    事件委托是利用事件的冒泡原理来实现的,何为事件冒泡呢?就是事件从最深的节点开始,然后逐步向上传播事件,举个例子:页面上有这么一个节点树,div>ul>li>a;比如给最里面的a加一个click点击事件,那么这个事件就会一层一层的往外执行,执行顺序a>li>ul>div,有这样一个机制,那么我们给最外面的div加点击事件,那么里面的ul,li,a做点击事件的时候,都会冒泡到最外层的div上,所以都会触发,这就是事件委托,委托它们父级代为执行事件。
event.target.nodeName     //获取事件触发元素标签name
 
event.target.id       //获取事件触发元素id
 
event.target.className    //获取事件触发元素classname
 
event.target.innerHTML    //获取事件触发元素的内容

5、在JavaScript中使用.setAttribute(‘name’,‘value’)来给标签添加属性。注意避免标签的属性名与JS对象属性名相同所带来的bug
6、网页跳转

//给原页面绑定跳转函数
function isToMovieSearchPage(searchContent) {
    if (!searchContent) {
        return
    }
    let searchUrl = 'search-page.html?search=' + encodeURI(searchContent); //使用encodeURI()来编码汉字字符
    window.location.href = searchUrl;
}

//从跳转页的URL中获取传递的参数
function getSearchContentFromUrl() {
    const url = window.location.href;
    let searchContent = url.split('search=')[1];
    return decodeURI(searchContent); //使用decodeURI()来解码为汉字字符
}

相关文章

网友评论

      本文标题:JavaScript进阶-4

      本文链接:https://www.haomeiwen.com/subject/llbkdqtx.html