用JS或者jQuery可以监听浏览器窗口的变化吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用JS或者jQuery可以监听浏览器窗口的变化吗相关的知识,希望对你有一定的参考价值。

我要的效果是这样的:当浏览器窗口大小变化时(缩小或者放大浏览器窗口),能够实时获取当前浏览器窗口的宽度和高度。我说的实时指不用刷新当前页面,当浏览器窗口大小改变时就触发事件。

试试resize事件
$(window).resize(function()
var width = $(this).width();
var height = $(this).height();
);

不过resize事件好像对框架不起作用
参考技术A 方法一:在标签上加入 onLoad="" onResize="" 方法 写上对应的方法即可
方法二:window.onresize=function()///..... 在方法里面写上对应的代码即可
着两种方法基本都可以解决你的问题了

jQuery/原生JS实时监听input输入框值变化

input事件: 

onchange

1、要在 input 失去焦点的时候才会触发;

2、在输入框内容变化的时候不会触发change,当鼠标在其他地方点一下才会触发;

3、onchange event 所有主要浏览器都支持;

4、onchange 属性可以使用于:<input>, <select>, 和 <textarea>。

<script>
    function change(){
        var x=document.getElementById("password");
        x.value=x.value.toUpperCase();
    console.log("出发了") } </script> </head> <body> 输入你的密码: <input type="text" id="password" onchange="change()"> </body>

oninput:

1、在用户输入时触发,它是在元素值发生变化时立即触发;

2、该事件在 <input> 或 <textarea> 元素的值发生改变时触发。

3、缺陷:从脚本中修改值不会触发事件。从浏览器下拉提示框里选取值时不会触发。IE9 以下不支持,所以IE9以下可用onpropertychange 事件代替。

JS: <input type="text" id="password" oninput="change()">

 

jQuery: $("#password").on(‘input propertychange‘, change);

onpropertychange:

1、会实时触发,会在元素的属性改变时就触发事件。当元素disable=true时不会触发

2、缺陷:只在IE 下支持,其他浏览器不支持,用oninput来解决。

 

<input type="text" id="password" oninput="onpropertychange()">

 jQuery:

<!DOCTYPE html>  
<html>  
    <head>  
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
        <title>RunJS</title>  
    <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    </head>  
    <body>  
        <input type="text" id="password" autoComplete=‘off‘>  
      <script type="text/javascript">
$(function(){  
  $(‘#password‘).bind(‘input propertychange‘, function() {  
     console.log(‘在实时触发!!!‘)   $(‘#result‘).html($(this).val().length);
     $(this).val().length != 0 ? $("#login").css("background-color", "#086AC1") : $("#login").css("background-color", "#529DE0")   }); }) </script> </body> </html>

 JavaScript;

  <script type="text/javascript">
    // Firefox, Google Chrome, Opera, Safari, Internet Explorer from version 9
        function OnInput (event) {
            alert ("The new content: " + event.target.value);
        }
    // Internet Explorer
        function OnPropChanged (event) {
            if (event.propertyName.toLowerCase () == "value") {
                alert ("The new content: " + event.srcElement.value);
            }
        }
 </script>
 
 <input type="text" oninput="OnInput (event)" onpropertychange="OnPropChanged (event)" value="Text field" />

  

 

以上是关于用JS或者jQuery可以监听浏览器窗口的变化吗的主要内容,如果未能解决你的问题,请参考以下文章

js如何监听窗口的关闭?

jQuery/原生JS实时监听input输入框值变化

原生JS和JQuery代码编写窗口捕捉函数和页面视觉差效果(scroll()offsetTop滚动监听的妙用)

vue 监听窗口变化对页面部分元素重新渲染

jquery resize 如何监听div或其它元素的resize事件

如何用js监视用户浏览器的大小变动啊?