以下是构建链接的两种方法,其唯一目的是运行JavaScript代码.哪个更好,在功能,页面加载速度,验证目的等方面?
function myJsFunc() {
alert("myJsFunc");
}Run Code Online (Sandbox Code Playgroud)
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>Run Code Online (Sandbox Code Playgroud)
要么
function myJsFunc() {
alert("myJsFunc");
}Run Code Online (Sandbox Code Playgroud)
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>Run Code Online (Sandbox Code Playgroud)
使用纯JavaScript(而不是jQuery),有没有一种方法可以测试一个元素是否包含一个类?
目前,我这样做:
HTML:
var test = document.getElementById("test");
var testClass = test.className;
switch (testClass) {
case "class1":
test.innerHTML = "I have class1";
break;
case "class2":
test.innerHTML = "I have class2";
break;
case "class3":
test.innerHTML = "I have class3";
break;
case "class4":
test.innerHTML = "I have class4";
break;
default:
test.innerHTML = "";
}Run Code Online (Sandbox Code Playgroud)
JS:
<div id="test" class="class1"></div>Run Code Online (Sandbox Code Playgroud)
这导致此输出,这是正确的:
<div id="test" class="class1 class5"></div>
Run Code Online (Sandbox Code Playgroud)
问题是,如果我将HTML更改为此...
var test = document.getElementById("test");
var testClass = test.className;
switch (testClass) {
case "class1":
test.innerHTML = "I have …Run Code Online (Sandbox Code Playgroud) 我想在没有任何重定向的情况下在点击上运行一个简单的JavaScript函数.
将JavaScript调用放在href属性中是否有任何区别或好处(如下所示:
<a href="javascript:my_function();window.print();">....</a>
Run Code Online (Sandbox Code Playgroud)
)将它放在onclick属性中(将其绑定到onclick事件)?
以下是我的JavaScript(mootools)代码:
$('orderNowForm').addEvent('submit', function (event) {
event.preventDefault();
allFilled = false;
$$(".required").each(function (inp) {
if (inp.getValue() != '') {
allFilled = true;
}
});
if (!allFilled) {
$$(".errormsg").setStyle('display', '');
return;
} else {
$$('.defaultText').each(function (input) {
if (input.getValue() == input.getAttribute('title')) {
input.setAttribute('value', '');
}
});
}
this.send({
onSuccess: function () {
$('page_1_table').setStyle('display', 'none');
$('page_2_table').setStyle('display', 'none');
$('page_3_table').setStyle('display', '');
}
});
});
Run Code Online (Sandbox Code Playgroud)
在IE以外的所有浏览器中,这都可以.但在IE中,这会导致错误.我有IE8所以在使用它的JavaScript调试器时,我发现该event对象没有preventDefault导致错误的方法,因此表单已经提交.在Firefox(我发现使用Firebug)的情况下支持该方法.
任何帮助?
我有以下两个javascript函数:
1
showCountry()
Run Code Online (Sandbox Code Playgroud)
2
showUser()
Run Code Online (Sandbox Code Playgroud)
我想把它们放在外部的".js"文件中
1
<a href="javascript:showCountry('countryCode')">countryCode</a>
Run Code Online (Sandbox Code Playgroud)
2
<form>
<select name="users" onChange="showUser(this.value)">
<option value="1">Tom</option>
<option value="2">Bob</option>
<option value="3">Joe</option>
</select>
</form>
Run Code Online (Sandbox Code Playgroud)
调用这些函数的正确语法是什么?
我只注意到,在的SoundCloud,跑道上的"动作"按钮(如,转贴等)都是HTML按钮标签.此外,它们既不在形式内,也不与形式相关联,也不提交表格(它们显然是通过javascript处理的).这是有效的HTML吗?没有表格的按钮是否可以存在?或者这只是使这些按钮成为可点击的div?屏幕阅读器的有效/无效程度如何?
有一个基于javascript的界面 - 所以我不需要支持没有JavaScript的工作.
我有一个
<a>Something</a>
Run Code Online (Sandbox Code Playgroud)
带有JS代码的元素,它绑定了click事件 - 因此,我不想在用户点击后重新加载页面.
哪种方式更好?
1. <a href="javascript:void(0)">Something</a>
2. <a href="#" onclick="return false;">Something</a>
Run Code Online (Sandbox Code Playgroud)
每种方法有哪些优缺点?
我有 6 个不同的链接,每个链接都将调用不同的 Ajax 函数。
我使用这个<a href>标签是因为我希望它显示为一个链接....我可以使用这个标签来调用 Ajax 函数吗?或者它只适用于 URL 链接?
谢谢!
我有一个想要在我的页面上显示的链接,
<a>add another</a>
Run Code Online (Sandbox Code Playgroud)
但除非我添加属性,否则它看起来不像链接href.我将使用jquery为其添加一个.click()事件,因此它并不需要任何其他东西.
什么是最有价值的href?#?javascript:void(0)?我担心的是,如果有人在.click()事件被添加之前点击它或其他东西.#将它们滚动到页面顶部,void(0)看起来有点讨厌,如果他们看地址栏就没有信息......
我目前依赖锚标签在我的Web应用程序上执行AJAX请求(使用jQuery).例如:
<script type="text/javascript">
$(document).ready(function() {
$("#test").click(function() {
// Perform AJAX call and manipulate the DOM
});
});
<a id="test" href="">Click me!</a>
</script>
Run Code Online (Sandbox Code Playgroud)
但是,如果用户在浏览器中禁用javascript,这些锚标签几乎变得无用.处理这些锚标记的优雅降级的最佳方法是什么?我唯一的选择是将它们全部切换到表格标签内的按钮吗?
编辑:我应该更清楚,并指定我的AJAX调用是一个URL的HTTP POST,出于安全原因,我不能暴露给正常的HTTP GET(例如,想到删除URL"/ items/delete/1").考虑到这一点,我无法将锚点的href更改为"/ items/delete/1"以满足javascript关闭的用户,因为它会带来安全风险.
javascript ×8
html ×7
href ×2
jquery ×2
ajax ×1
button ×1
css ×1
dom ×1
events ×1
forms ×1
html5 ×1
hyperlink ×1
mootools ×1
optimization ×1
performance ×1