相关疑难解决方法(0)

我应该将哪个"href"值用于JavaScript链接,"#"或"javascript:void(0)"?

以下是构建链接的两种方法,其唯一目的是运行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)

html javascript optimization performance href

3980
推荐指数
51
解决办法
224万
查看次数

测试一个元素是否包含一个类?

使用纯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)

html javascript css dom

497
推荐指数
11
解决办法
64万
查看次数

href与onclick中的JavaScript函数

我想在没有任何重定向的情况下在点击上运行一个简单的JavaScript函数.

将JavaScript调用放在href属性中是否有任何区别或好处(如下所示:

<a href="javascript:my_function();window.print();">....</a>
Run Code Online (Sandbox Code Playgroud)

)将它放在onclick属性中(将其绑定到onclick事件)?

javascript href

449
推荐指数
13
解决办法
137万
查看次数

event.preventDefault()函数在IE中不起作用

以下是我的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 events internet-explorer mootools preventdefault

202
推荐指数
5
解决办法
20万
查看次数

如何使用外部".js"文件

我有以下两个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)

调用这些函数的正确语法是什么?

html javascript

43
推荐指数
3
解决办法
25万
查看次数

表单之外的按钮html标签是否有效?

我只注意到,在的SoundCloud,跑道上的"动作"按钮(如,转贴等)都是HTML按钮标签.此外,它们既不在形式内,也不与形式相关联,也不提交表格(它们显然是通过javascript处理的).这是有效的HTML吗?没有表格的按钮是否可以存在?或者这只是使这些按钮成为可点击的div?屏幕阅读器的有效/无效程度如何?

html forms html5 button

35
推荐指数
2
解决办法
3万
查看次数

对于<a>,javascript:void(0)或onclick ="return false" - 哪个更好?

有一个基于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)

每种方法有哪些优缺点?

javascript

12
推荐指数
1
解决办法
5万
查看次数

带有 Ajax 的 HTML 链接

我有 6 个不同的链接,每个链接都将调用不同的 Ajax 函数。

我使用这个<a href>标签是因为我希望它显示为一个链接....我可以使用这个标签来调用 Ajax 函数吗?或者它只适用于 URL 链接?

谢谢!

html ajax

5
推荐指数
1
解决办法
4万
查看次数

<a href="?">用于JS活动时的理想价值?

我有一个想要在我的页面上显示的链接,

 <a>add another</a>
Run Code Online (Sandbox Code Playgroud)

但除非我添加属性,否则它看起来不像链接href.我将使用jquery为其添加一个.click()事件,因此它并不需要任何其他东西.

什么是最有价值的href#javascript:void(0)?我担心的是,如果有人在.click()事件被添加之前点击它或其他东西.#将它们滚动到页面顶部,void(0)看起来有点讨厌,如果他们看地址栏就没有信息......

html javascript jquery hyperlink

2
推荐指数
2
解决办法
721
查看次数

用javascript优雅降级锚标签

我目前依赖锚标签在我的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关闭的用户,因为它会带来安全风险.

html javascript jquery graceful-degradation

1
推荐指数
1
解决办法
1703
查看次数