元素巢狀iframe怎麼給外層繫結點選事件_2018-03-05 HTML元素
1.<iframe>和<a>的target
iframe標籤支援相對路徑
<iframe name="xxx" src="" frameborder="0"></iframe>
<a href="" target="xxx"></a>
點選a,則新頁面會在iframe裡出現
若index.html裡寫:<iframe src="./index2" frameborder="0"></iframe>
index2.html裡寫:
<iframe src="./index3" frameborder="0"></iframe>
index3.html裡寫:
<a href="http://qq.com" target=_blank>QQ</a>
(點選會在一個新的標籤頁面裡開啟)<a href="http://qq.com" target=_self>QQ</a>
(點選會在index3的巢狀頁面裡開啟)<a href="http://qq.com" target=_parent>QQ</a>
<a href="http://qq.com" target=_top>QQ</a>
(點選會在index裡開啟)在index的左上角出現一個小的巢狀頁面裡顯示著index2頁面裡巢狀的index3裡的四個QQ連結
2.<a>的href
<a href="//qq.com">QQ</a>
href裡寫的是無協議地址,意思是當前用的是http協議就自動繼承http協議,用的是file就會用file協議。
我們在終端執行sudo npm i -g http-server
即可安裝一個伺服器,進入你寫index.html的資料夾裡執行http-server
<a href="?name=pyz">qq</a>
點選之後會在當前頁面發起?name=pyz的請求<a href="#sss">qq</a>
點選之後不會發起請求,因為錨點僅僅是在當前頁面內的跳轉- 偽協議
<a href="javascript:;">qq</a>
點選之後a不會做任何事情<a href="javascript:alert(1)";>qq</a>
點選之後會彈出1
3.<form> <input>
1. <form>和<a>的區別:
<a>提交時是GET請求
<form>可以傳送POST請求
<form>裡必須要有一個submit才能被提交
<form
即<form>是註冊時用的,你提交的賬號密碼會出現在第四部分裡,但GET請求是不會有第四部分的,POST若想有查詢引數,可以直接寫在action裡,如;
<form
<input>要提交的話一定要有name值!
<label>可以直接包在input外面
<form>裡的target和<a>是一模一樣的。
<form>裡如果沒有<input type="submit">
而有<button>,則<button>會預設為submit,若寫成這樣<button type="button">button</button>
則不會成為submit,一個form裡必須要有一個submit才能提交
2. <input> checkbox
<
一定要有name才能被提交上去
3.<input> radio
<
和checkbox不同的是,兩個name一樣的radio只能選中一個
4. <select>
<select
disabled屬性意味著不能被選中,selected意思是預設選中的,multiple意思是可以同時選中幾項
5. <textarea>
若想讓使用者輸入一大段文字則用這個元素
<
resize若不設定為none,則使用者可以隨意更改輸入框的大小
6. <table>
<table
<thead> <tbody> <tfoot>不寫瀏覽器也不會報錯,而會自動全部加入到tbody裡
7.Canvas
不要用css來調整canvas的寬高,因為若用css,canvas裡的東西都會被拉伸,和img一樣,可以用js來設定寬高
function autoSetCanvasSize(canvas) {
setCanvasSize();
window.onresize = function () { //瀏覽器改變視窗大小時觸發onresize事件
setCanvasSize()
};
function setCanvasSize() {
var pageWidth = document.documentElement.clientWidth; //代表瀏覽器的寬
var pageHeight = document.documentElement.clientHeight; //代表瀏覽器的高
canvas.width = pageWidth;
canvas.height = pageHeight;
}
}