導航:首頁 > 編程語言 > rectjs滑鼠監聽事件

rectjs滑鼠監聽事件

發布時間:2023-03-03 23:05:24

js中監聽iframe點擊事件

在js中,需要監聽iframe的點擊事件,但是因為瀏覽器的同源策略,是無法監聽到的,只能另闢蹊徑去解決它

注意,僅限於pc網站,意思就是必須要有滑鼠移入移出iframe的操作

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<title>Detect IFrame Clicks</title>

<script src="./jquery-3.4.1.min.js"></script>

<script type="text/javascript">

    $(document).ready(function() {

        var currentObj=Object

        var isOverIFrame = false;

        function processMouseOut(e) {

            console.log('out iframe',e.target);

            currentObj=e.target

            isOverIFrame = false;

            top.focus();

        }

        function processMouseOver(e) {

            // log("IFrame mouse >> OVER << detected.");

            console.log('in iframe',e.target);

            currentObj=e.target

            isOverIFrame = true;

        }

        function processIFrameClick(event) {

            if(isOverIFrame) {

                console.log('click iframe',event.target,currentObj);

            }

        }

        function attachOnloadEvent(func, obj) {

            if(typeof window.addEventListener != 'undefined') {

                window.addEventListener('load', func, false);

            } else if (typeof document.addEventListener != 'undefined') {

                document.addEventListener('load', func, false);

            } else if (typeof window.attachEvent != 'undefined') {

                window.attachEvent('onload', func);

            } else {

                if (typeof window.onload == 'function') {

                    var oldonload = onload;

                    window.onload = function() {

                        oldonload();

                        func();

                    };

                } else {

                    window.onload = func;

                }

            }

        }

        function init() {

            var element = document.getElementsByTagName("iframe");

            for (var i=0; i<element.length; i++) {

                element[i].onmouseover = processMouseOver;

                element[i].onmouseout = processMouseOut;

            }

            if (typeof window.attachEvent != 'undefined') {

                top.attachEvent('onblur', processIFrameClick);

            }

            else if (typeof window.addEventListener != 'undefined') {

                top.addEventListener('blur', processIFrameClick, false);

            }

        }

        attachOnloadEvent(init);

    });

</script>

</head>

<body>

<iframe src="https://www.hao123.com" width="80%" height="600px"></iframe>

<iframe src="https://www..com" width="80%" height="600px"></iframe>

</form>

</body>

</html>

復制上邊整段html,打開console控制台,即可解決這個問題,親測好用

⑵ 關於js中事件監聽的問題(文本框 回車鍵 失去焦點)

你可以在輸入框裡面一個js事件onkeydown=「document.getElementById('確定按鈕的Id').focus()」
如果還不行把你的代碼貼出來我看下

⑶ js怎麼監聽滑鼠是否有操作

<script type="text/javascript">
// 移動了就更新最近一次移動的時間。
document.onmousemove = function(){
window.lastMove = new Date().getTime();
};
window.lastMove = new Date().getTime();//最近一次移動時間
window.setInterval(function(){//每1秒鍾檢查一次。
var now = new Date().getTime();
// 如果超時了
if( now - lastMove > 指定時間 ){
// 自己寫了撒。
}
}, 1000);
</script>

⑷ JAVA 求助 就是如何用滑鼠監聽事件調用Graphics 畫的線條和矩形 接著畫 不會畫完

import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;

public class Test{
public static void main(String[] args){
MyFrame frame = new MyFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

class MyFrame extends JFrame implements ActionListener{

MyPanel panel = new MyPanel();

JToolBar t;
JButton obj1;
JButton obj2;
JButton obj3;

public MyFrame(){

obj1 = new JButton("Line");
obj2 = new JButton("yuan");
obj3 = new JButton("juxing");
t = new JToolBar();
obj1.addActionListener(this);
obj2.addActionListener(this);
obj3.addActionListener(this);

t = new JToolBar();
t.add(obj1);
t.add(obj2);
t.add(obj3);

setTitle("DrawTest");
setSize(W,H);

Container contentPane = getContentPane();

contentPane.add(t,BorderLayout.NORTH);
contentPane.add(panel,BorderLayout.CENTER);
}

public void actionPerformed(ActionEvent e){
if(e.getSource()==obj1)
panel.shape=0;//直線
if(e.getSource()==obj2)
panel.shape=1;//円
if(e.getSource()==obj3)
panel.shape=2;//長方形
}

public static final int W = 400;
public static final int H = 400;
}

class MyPanel extends JPanel implements MouseListener{

private ArrayList<Point> pointList = new ArrayList<Point>();

int shape = -1;
int x1 = 0,y1 = 0;
int x2 = 0,y2 = 0;

MyPanel(){
addMouseListener(this);
}

public void mousePressed(MouseEvent e){

x1 = e.getX();
y1 = e.getY();
pointList.add(new Point(x1,y1));

}
public void mouseReleased(MouseEvent e){

x2 = e.getX();
y2 = e.getY();
pointList.add(new Point(x2,y2));
repaint();

}

public void mouseClicked(MouseEvent e){
}

public void mouseMoved(MouseEvent e){
}

public void mouseEntered(MouseEvent e){
}

public void mouseExited(MouseEvent e){
}

public void paintComponent(Graphics g){
super.paintComponent(g);

for(int i =0 ;i<pointList.size()-1;i=i+2){
Point p1 = pointList.get(i);
Point p2 = pointList.get(i+1);

switch(shape){

case 0:
g.drawLine(p1.x,p1.y,p2.x,p2.y);

break;
case 1:

int width1 = p2.x - p1.x;
int height1 = p2.y - p1.y;
g.drawOval(p1.x,p1.y,width1,height1);
break;
case 2:
int width2 = p2.x - p1.x;
int height2 = p2.y - p1.y;
g.drawRect(p1.x,p1.y,width2,height2);
break;

default:
System.out.println("please once again!");
break;
}
}
}
}

⑸ JS滑鼠跟隨用什麼來解決啊

你說的什麼,我沒看明白。
JS中 window.event 對象可以監聽鍵盤和滑鼠的一些動作。可以獲取滑鼠當前的位置。設置其他對象的坐標就可以實現跟隨

如:滑鼠X坐標為 window.event.clientX

屬性 描述
Abstract 使用 event 對象獲取高級流重定向器(ASX)文件中項目橫幅的 Abstract 內容。
altKey 設置或獲取 Alt 鍵的狀態。
altLeft 設置或獲取左 Alt 鍵的狀態。
Banner 使用 event 對象獲取高級流重定向器(ASX)文件中項目的 Banner 內容。
button 設置或獲取用戶所按的滑鼠按鈕。
cancelBubble 設置或獲取當前事件是否要在事件句柄中向上冒泡。
clientX 設置或獲取滑鼠指針位置相對於窗口客戶區域的 x 坐標,其中客戶區域不包括窗口自身的控制項和滾動條。
clientY 設置或獲取滑鼠指針位置相對於窗口客戶區域的 y 坐標,其中客戶區域不包括窗口自身的控制項和滾動條。
contentOverflow 獲取表明文檔處理當前 LayoutRect 對象後是否包含附加的內容。
ctrlKey 設置或獲取 Ctrl 鍵的狀態。
ctrlLeft 設置或獲取左 Ctrl 鍵的狀態。
dataFld 設置或獲取 oncellchange 事件影響的數據列。
fromElement 設置或獲取事件發生時激活或滑鼠將要離開的對象。
keyCode 設置或獲取與導致事件的按鍵關聯的 Unicode 按鍵代碼。
MoreInfo 通過 event 對象獲取高級流重定向器(ASX)文件中項目橫幅的 MoreInfo 內容。
nextPage 獲取列印模板中下頁的位置。
offsetX 設置或獲取滑鼠指針位置相對於觸發事件的對象的 x 坐標。
offsetY 設置或獲取滑鼠指針位置相對於觸發事件的對象的 y 坐標。
propertyName 設置或獲取對象上發生更改的屬性名稱。
qualifier 設置或獲取由數據源對象提供的數據成員的名稱。
reason 設置或獲取數據源對象的數據傳輸結果。
recordset 從數據源對象設置或獲取對默認數據集的引用。
repeat 獲取 onkeydown 事件是否正在重復。
returnValue 設置或獲取事件的返回值。
saveType 當 oncontentsave 觸發時獲取剪貼板類型。
screenX 設置或獲取獲取滑鼠指針位置相對於用戶屏幕的 x 坐標。
screenY 設置或獲取滑鼠指針位置相對於用戶屏幕的 y 坐標。
shiftKey 設置或獲取 Shift 鍵的狀態。
shiftLeft 設置或獲取左 Shift 鍵的狀態。
srcElement 設置或獲取觸發事件的對象。
srcFilter 設置或獲取觸發 onfilterchange 事件的濾鏡對象。
srcUrn 獲取觸發事件的行為的統一資源名稱(URN)。
toElement 設置或獲取用戶要將滑鼠指針移動指向的對象的引用。
type 從 event 對象中獲取事件名稱。
wheelDelta 設置或獲取滾輪按鈕滾動的距離和方向。
x 設置或獲取滑鼠指針位置相對於父文檔的 x 像素坐標。
y 設置或獲取滑鼠指針位置相對於父文檔的 y 像素坐標。

希望對你有幫助

⑹ java監聽滑鼠事件的問題

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class test extends JFrame implements Runnable{
public static int x,y,direction=0;
public test(){
this.setSize(600,400);
this.setVisible(true);
x=this.getContentPane().getWidth()/2;
y=this.getContentPane().getHeight()/2;
this.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){
switch(e.getKeyCode()){
case KeyEvent.VK_DOWN:
direction=1;break;
case KeyEvent.VK_LEFT:
direction=2;break;
case KeyEvent.VK_RIGHT:
direction=3;break;
case KeyEvent.VK_UP:
direction=4;break;
}
}
});
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String args[]){
test t=new test();
new Thread(t).start();
}
public void paint(Graphics g){
g.setColor(Color.white);
g.fillRect(0,0,this.getWidth(),this.getHeight());
g.setColor(Color.red);
g.drawRect(x-60,y-40,120,80);
}
public void run(){
while(true){
try{
Thread.sleep(100);
}catch(Exception e){}
switch(direction){
case 1: y =4;break;
case 2: x-=4;break;
case 3: x =4;break;
case 4: y-=4;break;
}
this.repaint();
}
}
}

⑺ 什麼用javascript讓一個對象同時監聽滑鼠單擊和滑鼠雙擊事件

<input name="test" id="test" type="button" onmouseup="c()" value="單雙擊測試"/>
注意不是onclick,是內onmouseup

var count = 0;
var timer ;
function c(){
count ++;
timer = window.setTimeout(function(){
if(count==1) alert("單擊容");
else alert("雙擊");
window.clearTimeout(timer);
count=0;
},300)
}

閱讀全文

與rectjs滑鼠監聽事件相關的資料

熱點內容
怎麼改合同網站 瀏覽:73
網路鬥地主記牌器怎麼實現的 瀏覽:377
ps鏡像文件製作教程 瀏覽:45
系統分頁文件大小設置多少 瀏覽:447
win10有線無法上網 瀏覽:339
wps無法訪問指定文件 瀏覽:96
iphone4震動壞了 瀏覽:217
安卓隨機數軟體rand 瀏覽:356
CNC編程如何掌握公差 瀏覽:297
linux搭建php環境 瀏覽:514
星形網路怎麼表示有故障 瀏覽:719
dbf文件c語言處理excel 瀏覽:138
金蝶kis支持win10嗎 瀏覽:113
常州採集物聯網大數據平台有哪些 瀏覽:950
win10休眠文件改到d盤 瀏覽:626
如何編程手機app軟體 瀏覽:656
node獲取文件名 瀏覽:367
iphoneios7怎麼設置鈴聲 瀏覽:52
手機qq激活星鑽 瀏覽:302
html中引入js文件路徑 瀏覽:83

友情鏈接