将jquery中的代码重写为javascript
在我的小部件中,我有以下代码:将jquery中的代码重写为javascript,javascript,jquery,onbeforeunload,Javascript,Jquery,Onbeforeunload,在我的小部件中,我有以下代码: $(document).ready(function() { $('a[rel!=ext]').click(function() { window.onbeforeunload = null; }); $('form').submit(function() { window.onbeforeunload = null; }); }); 我已经在许多网页中输入了这段代码。我的问题是并不是所有的网页都运行jQuery,所以我需要一个JavaScrip
$(document).ready(function() {
$('a[rel!=ext]').click(function() { window.onbeforeunload = null; });
$('form').submit(function() { window.onbeforeunload = null; });
});
我已经在许多网页中输入了这段代码。我的问题是并不是所有的网页都运行jQuery,所以我需要一个JavaScript解决方案
这在JavaScript代码中是什么样子的
更新:
function showWidget(www){
var content = '<iframe src="'+www+'" style="border:0px #FFFFFF none; position: fixed;left: 0px;width: 300px; height:100%; top: 30%;z-index: 9999999;" name="myiFrame" scrolling="yes" frameborder="0" marginheight="0px" marginwidth="0px" height="100%" width="100%"></iframe><a style="display:none;" href="http://bedbids.com" rel="ext">BedBids</a>';
var newNode = document.createElement("DIV");
newNode.innerHTML = content;
document.body.appendChild(newNode);
window.onbeforeunload = function() {
return "You're leaving the site.";
};
window.onload = function() {
[].slice.call(document.querySelectorAll('a[rel!="ext"]')).forEach(function(a) {
a.onclick = function() {
window.onbeforeunload = null;
};
});
[].slice.call(document.getElementsByTagName('form')).forEach(function(form) {
form.onsubmit = function() {
window.onbeforeunload = null;
};
});
};
}
function showWidget(www){
var内容=“”;
var newNode=document.createElement(“DIV”);
newNode.innerHTML=内容;
document.body.appendChild(newNode);
window.onbeforeunload=函数(){
return“您将离开网站。”;
};
window.onload=函数(){
[].slice.call(document.querySelectorAll('a[rel!=“ext”])).forEach(函数(a){
a、 onclick=function(){
window.onbeforeunload=null;
};
});
[].slice.call(document.getElementsByTagName('form')).forEach(函数(form){
form.onsubmit=函数(){
window.onbeforeunload=null;
};
});
};
}
类似的方法应该可以:
window.onload = function() {
[].slice.call(document.querySelectorAll('a[rel!=ext]')).forEach(function(a) {
a.onclick = function() {
window.onbeforeunload = null;
};
});
[].slice.call(document.getElementsByTagName('form')).forEach(function(form) {
form.onsubmit = function() {
window.onbeforeunload = null;
};
});
};
像这样的方法应该会奏效:
window.onload = function() {
[].slice.call(document.querySelectorAll('a[rel!=ext]')).forEach(function(a) {
a.onclick = function() {
window.onbeforeunload = null;
};
});
[].slice.call(document.getElementsByTagName('form')).forEach(function(form) {
form.onsubmit = function() {
window.onbeforeunload = null;
};
});
};
我得到:未捕获的语法错误:未能对“文档”执行“querySelector”:“a[rel!=ext]”不是有效的选择器。不要像jquery那样工作,当再次单击某些内部或外部链接时,此代码将显示消息我更新我的问题,以便您可以确切地看到问题所在。。。问题是,当我想提交一些表格,或者再次点击一些内部-外部链接时,我会看到你们要离开网站的消息。我只需要在用户离开时显示此消息我得到:未捕获的语法错误:未能在“文档”上执行“querySelector”:“a[rel!=ext]”不是有效的选择器。不要像jquery那样工作,再次单击某些内部或外部链接时此代码显示消息我更新我的问题,以便您可以确切地看到问题所在。。。问题是,当我想提交一些表格,或者再次点击一些内部-外部链接时,我会看到你们要离开网站的消息。我只需要在用户离开时显示此消息尝试删除window.onload(如果在DOM就绪时执行函数)。我删除了它,但它不是解决方案尝试删除window.onload(如果在DOM就绪时执行函数)。我删除了它,但它不是解决方案