我正在尝试使用Chrome上的javascript将键盘事件发送到页面.我有一个曾经在Firefox上工作的方法:
pressKey = function(key, shift) {
var evt = document.createEvent('KeyboardEvent');
evt.initKeyEvent("keypress", false, true, null, false, false,
shift, false, keyCode(key), key.charCodeAt(0));
document.dispatchEvent(evt);
}
Run Code Online (Sandbox Code Playgroud)
其中key是所需的键,keyCode将小写字母更改为高位字母,并调用charCodeAt().
我的问题是Safari/Chrome上的事件没有initKeyEvent,而是initKeyboardEvent.我可以注意到的主要区别是你必须将密钥作为keyIdentifier(看起来像一个unicode字符)传递,而不是传递keycode和keychar.尽管如此,我仍然无法使其成功.
我也尝试过这里描述的JQuery方法但没有成功.
编辑: 我进一步调试了这一点似乎Chrome上的事件确实触发了侦听器,但keyCode/charCode始终为0.我试图设置evt.keyCode或evt.charCode也没有成功.
我正在尝试解析html的片段:
<body><h1>title</h1><img src=""></body>
Run Code Online (Sandbox Code Playgroud)
我用lxml.html.fromstring.它让我疯狂,因为它不断剥离<body>我的碎片标签:
> lxml.html.fromstring('<html><h1>a</h1></html>').tag
'html'
> lxml.html.fromstring('<div><h1>a</h1></div>').tag
'div'
> lxml.html.fromstring('<body><h1>a</h1></body>').tag
'h1'
Run Code Online (Sandbox Code Playgroud)
我也试过了document_fromstring,fragment_fromstring,clean_html与page_structure=False等...没有什么工作.
我需要使用lxml,因为我将html片段传递给PyQuery.
我只是希望lxml不要弄乱我的html片段.有可能吗?
我试图覆盖Jquery Dialog方法的close方法.
代码:
jQuery.Dialog.close = function() {
alert('my close');
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.请帮忙.