我想在没有任何重定向的情况下在点击上运行一个简单的JavaScript函数.
将JavaScript调用放在href属性中是否有任何区别或好处(如下所示:
<a href="javascript:my_function();window.print();">....</a>
Run Code Online (Sandbox Code Playgroud)
)将它放在onclick属性中(将其绑定到onclick事件)?
我想在超链接的单击事件上有条件地显示JQuery对话框.
我有条件,例如在条件1上打开一个JQuery对话框,如果不满足条件1,则导航到由'href'标签引用的页面,该标签的点击事件有问题.
我能够在链接的点击事件上调用一个函数.此函数现在通过执行另一个URL(执行我的Spring控制器并返回响应)来检查所述条件.
所有的作品都只有window.open被弹出窗口拦截器阻挡.
$('a[href*=/viewpage?number]').live('click', function(e) {
e.preventDefault();
redirectionURL = this.href;
pageId= getUrlVars(redirectionURL)["number"];
$.getJSON("redirect/" + pageId, {}, function(status) {
if (status == null) {
alert("Error in verifying the status.");
} else if(!status) {
$("#agreement").dialog("open");
} else {
window.open(redirectionURL);
}
});
});
Run Code Online (Sandbox Code Playgroud)
如果我e.preventDefault();从代码中删除,popoup阻止程序不会阻止页面,但是对于condition1,它会打开对话框并打开'href'页面.
如果我解决了一个,它会为另一个人带来问题.我无法同时兼顾两种情况.
你能帮我解决这个问题吗?
一旦这个问题得到解决,我还有另外一个问题需要解决,即导航对话的OK事件:)
我在使用Internet Explorer时遇到问题.我有一个链接,它复制表单上的文件上传元素.复制的代码还会向重复的上传元素添加一个超链接,该元素应该删除重复的元素,只需删除此链接即可.
问题是这个代码在Firefox中运行良好,但它在IE中根本不运行.忘记如何编写代码 - 我附加到元素的onClick事件根本不会触发!
我在函数中创建了这样的remove链接元素:
var a = document.createElement('a');
a.setAttribute('href', "javascript:void(0);");
a.setAttribute('class', 'delete');
a.setAttribute('onClick', 'removeThisElement(idOfParentContainer, this)');
container.appendChild(a);
Run Code Online (Sandbox Code Playgroud)
这在Firefox中运行良好,但它在IE中根本不会触发.我使用IE检查器检查了dom并且链接已经很好地呈现但是附加到它的类没有呈现或已经应用,并且即使已经物理地附加到html上的链接也没有触发事件.出于某种原因,即使它是一个警报,无论我放入什么代码,onClick事件都不会触发.我在这里错过了一些东西.:(
伟大得到的问题的第一部分通过使用AddEvent附加事件解决但是为什么不是css渲染我的意思是附加到元素的类根本没有呈现出一些奇怪的原因:(
确实是好建议 - 我正在重写我的代码以避免使用setAttribute函数,而是将所有这些DOM操作移植到jquery.谢谢你的帮助