1. Written in front
Speaking of the dialog tag, many people may be unfamiliar with it. After all, this tag is only supported by the Chrome browser until the HTML5.2 standard is fixed. Yes, as for the purpose of this tag, it can be clearly understood based on the semantics, conversation.
What we may think of here is alert, confirm and other pop-up windows. Yes, they are of the same family, they are all pop-up boxes. Next, we will briefly take a look at some properties of the dialog tag. and usage scenarios.
2. Use tags
<dialog open=""> <h2 id="Title">Title</h2> <p>Content</p> </dialog>
Since it is a tag, it is actually the same as our commonly used p, p and other tags, such as As shown in the sample code above, it supports arbitrary other elements internally.
Here, you may notice that the open attribute in the above sample code, yes, this is used to control the display and hiding of this pop-up window. Of course, you can also use css as you like. To control, it will cause exceptions when using the auxiliary functions of some devices (such as accessibility, screen reading software, etc.), so it is recommended to use the standard display and hide functions.
3. Supported default methods
First of all, the dialog tag is an example of HTMLDialogElement, inherited from HTMLElement, so it belongs to the same category as the p tag. The only difference between hierarchical tags is that they have more default functions than p. In this section, we will take a look at what default methods dialog has for us to use.
var dialog = document.getElementById("dialog"); // 假设页面中,有一个id=dialog的dialog标签 // 关闭dialog dialog.close(); // 以toast的形式显示dialog dialog.show(); // 以模态框的形式显示dialog dialog.showModal(); // dialog.close()调用时传入的参数值 dialog.returnVlaue; // dialog的显示状态 dialog.open;
You can go to the example first, operate it, and then see what the features are, and then come back to compare. The following summary:
1: The close method can be called multiple times, even in the hidden state, and can be called again.
2: close can pass in a variable, which must be a string and expressed in returnVlaue.
3: The show method can also be called multiple times, even in the hidden state, without any problems.
4: The show method will not change the position of the toast. The pop-up box is still at the original position after the show method is called.
5: show method, the display position is immediately behind the previous element, centered, without a mask layer behind it, the z-index display method is similar to the relative without z-index setting (if before this , if showModal has not been called).
6: If showModal has been called, after the show method, the element is displayed at the position displayed by showModal and will not change (even if the content height changes a lot).
7: If there are two dialog elements and both show methods are called, in the html structure, the subsequent dialog will always cover the previous upper layer (regardless of which dialog calls the show method first).
8: There will be a mask layer behind the display of showModal. The display level is at the browser webview level. How to understand it? You can set an element with a very high level. After using showModal to display the dialog attribute , dialog are all at the front, which is particularly suitable for modal boxes. There will definitely be no hierarchical confusion after the pop-up box appears.
9: showModal can only be called once. The one time here means that if the dialog is in the display state, then an error will be reported when showModal is called again, and it cannot be executed directly, or as long as the open attribute exists. If you call it again, an error will be reported, so it is better to use the default open attribute to show and hide the dialog.
10: If there are two dialog elements on the page and both are calling the showModal method, regardless of their structure in HTML, the level of the dialog called later will be higher than the level of the dialog called previously.
11: The value of dialog.returnVlaue is the value passed in when calling dialog.close(string). It only supports strings. Only when the dialog is displayed, the value passed in by calling dialog.close value is valid.
12: If no value has been passed in close, the value of returnVlaue will be empty. If the value dialog.close("1") is passed once, dialog.close() will close after the next show. , returnVlaue is still equal to "1".
13: The return value of open is: true/false.
4. Supported default events
Another benefit of dialog is that in addition to basic events such as click, it supports two additional special events for dialog. Event:
var dialog = document.getElementById("dialog"); // 假设页面中,有一个id=dialog的dialog标签 // 当调用close方法时 dialog.onclose = function(){}; // 当在pc端按下esc按键时。不过在chrome版本之后,好像不管用了。 dialog.oncancel = function(){};
Now let’s look at an example: dialog event example display.
There are also several problems, let’s list them here:
1: Only by calling dialog.close() to hide the dialog can the onclose event be triggered.
2: After the cancel event is triggered, the close event will continue to be triggered. After the chrome64 version, cancel is not triggered by the esc key.
3: If there are multiple buttons to close the dialog, then pass in a different value each time close is called. In the callback of the close event, use the value of returnVlaue to determine which button it is. The shutdown event used to trigger.
5. Others
The description of some performances of dialog may be incomplete or inaccurate as time goes by, and newer features may appear over time. Any additions are welcome.
When looking at the previous example, we also saw some shortcomings, such as: the style is particularly ugly. Regarding this, we can completely use CSS to reset the style without affecting the semantics and any other Things, just rest assured to refactor.
I just want to talk about the performance of dialog, so I won’t do that.
6. Summary
dialog is, after all, a semantic label for pop-up dialogs, and has some unique advantages (such as the height of the webview level), although it is only Chrome supports it, but it is still very promising for future use. Even now, you can make it compatible by yourself. In other browsers, you can implement a set of dialog mechanisms by yourself (maybe there is already an implementation plan for this, so I won’t go into it here. found).
Related recommendations:
Talk about the current situation and prospects of Dialog and opportunities
JQuery UI usage tutorial for dialog
The above is the detailed content of Detailed explanation of using html5 dialog. For more information, please follow other related articles on the PHP Chinese website!

H5 provides a variety of new features and functions, greatly enhancing the capabilities of front-end development. 1. Multimedia support: embed media through and elements, no plug-ins are required. 2. Canvas: Use elements to dynamically render 2D graphics and animations. 3. Local storage: implement persistent data storage through localStorage and sessionStorage to improve user experience.

H5 and HTML5 are different concepts: HTML5 is a version of HTML, containing new elements and APIs; H5 is a mobile application development framework based on HTML5. HTML5 parses and renders code through the browser, while H5 applications need to run containers and interact with native code through JavaScript.

Key elements of HTML5 include,,,,,, etc., which are used to build modern web pages. 1. Define the head content, 2. Used to navigate the link, 3. Represent the content of independent articles, 4. Organize the page content, 5. Display the sidebar content, 6. Define the footer, these elements enhance the structure and functionality of the web page.

There is no difference between HTML5 and H5, which is the abbreviation of HTML5. 1.HTML5 is the fifth version of HTML, which enhances the multimedia and interactive functions of web pages. 2.H5 is often used to refer to HTML5-based mobile web pages or applications, and is suitable for various mobile devices.

HTML5 is the latest version of the Hypertext Markup Language, standardized by W3C. HTML5 introduces new semantic tags, multimedia support and form enhancements, improving web structure, user experience and SEO effects. HTML5 introduces new semantic tags, such as, ,, etc., to make the web page structure clearer and the SEO effect better. HTML5 supports multimedia elements and no third-party plug-ins are required, improving user experience and loading speed. HTML5 enhances form functions and introduces new input types such as, etc., which improves user experience and form verification efficiency.

How to write clean and efficient HTML5 code? The answer is to avoid common mistakes by semanticizing tags, structured code, performance optimization and avoiding common mistakes. 1. Use semantic tags such as, etc. to improve code readability and SEO effect. 2. Keep the code structured and readable, using appropriate indentation and comments. 3. Optimize performance by reducing unnecessary tags, using CDN and compressing code. 4. Avoid common mistakes, such as the tag not closed, and ensure the validity of the code.

H5 improves web user experience with multimedia support, offline storage and performance optimization. 1) Multimedia support: H5 and elements simplify development and improve user experience. 2) Offline storage: WebStorage and IndexedDB allow offline use to improve the experience. 3) Performance optimization: WebWorkers and elements optimize performance to reduce bandwidth consumption.

HTML5 code consists of tags, elements and attributes: 1. The tag defines the content type and is surrounded by angle brackets, such as. 2. Elements are composed of start tags, contents and end tags, such as contents. 3. Attributes define key-value pairs in the start tag, enhance functions, such as. These are the basic units for building web structure.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Dreamweaver CS6
Visual web development tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Linux new version
SublimeText3 Linux latest version

SublimeText3 Mac version
God-level code editing software (SublimeText3)
