小编Spe*_*ero的帖子

使用JavaScript将鼠标滚动事件转发到另一个div

标题几乎描述了我的目标.这是代码[仅适用于WebKit]:

我们有两个div,elem1和elem2.还有一个名为logger的文本框来显示结果.elem1有一些带溢出的文本:滚动.

function eventHandler(e){
    var myEvt = new e.constructor(e.type, e);
    document.getElementById('elem1').dispatchEvent(myEvt);
}

function elem1MouseScroll(e){
    document.getElementById('logger').value='mousescroll on ' + (e.target || e.srcElement).id + ' at (' + e.clientX + ', ' + e.clientY + ')';
}

document.getElementById('elem1').addEventListener('mousewheel', elem1MouseScroll, false);               
document.getElementById('elem2').addEventListener('mousewheel', eventHandler, false);    
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/s4hwt886/1

[蓝色div上的鼠标滚轮滚动应该转发到粉红色div.顶部的文本框显示结果.]

正如您所看到的,即使来自elem2的mousewheel事件在elem1上触发相同,遗憾的是elem1中的内容实际上并未实际滚动.

我很困惑.有人可以帮忙吗?您不必担心Gecko部分无法正常工作.构造函数技巧在Gecko中不起作用,因此代码会更大一些.这就是为什么我没有把它包括在小提琴中.

编辑:在Chrome中,这个小提琴就像我想要的那样.所以我更新了代码以支持Gecko.不幸的是,Firefox表现得像Safari一样.转发事件正在触发,我可以在日志文本框中看到它,但内容不滚动.这是更新的小提琴:http://jsfiddle.net/s4hwt886/2/

NB我想要一个非Jquery解决方案.我能找到的所有其他类似线程都与Jquery有关.

javascript mouse scroll forward mousewheel

6
推荐指数
0
解决办法
1556
查看次数

当 read() 将字节数作为参数时,Python 文件 write() 陷入追加模式

为什么这两个非常相似的代码表现如此不同?

代码1:

with open("new.txt", 'w+') as f:
    f.write("this is a line")

with open("new.txt", 'r+') as f:
    f.write("***")
    f.read()  # << note here
    f.seek(0)
    print(f.read())
Run Code Online (Sandbox Code Playgroud)

输出:***s is a line

代码2:

with open("new.txt", 'w+') as f:
    f.write("this is a line")

with open("new.txt", 'r+') as f:
    f.write("***")
    f.read(1)  # << note here
    f.seek(0)
    print(f.read())
Run Code Online (Sandbox Code Playgroud)

输出:this is a line***

Python版本:Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug 1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)] on win32

python file

5
推荐指数
0
解决办法
90
查看次数

标签 统计

file ×1

forward ×1

javascript ×1

mouse ×1

mousewheel ×1

python ×1

scroll ×1