jQuery attr (“onClick”) - т.е. и и следующие

Вот функциональный пример с кэшем библиотеки Google Ajax и некоторым волшебством jQuery.

Это было бы CSS:

<style type="text/stylesheet" media="screen">
    .inputblank { color:gray; }  /* Class to use for blank input */
</style>

Это было бы быть кодом JavaScript:

<script language="javascript"
        type="text/javascript"
        src="http://www.google.com/jsapi">
</script>
<script>
    // Load jQuery
    google.load("jquery", "1");

    google.setOnLoadCallback(function() {
        $("#search_form")
            .submit(function() {
                alert("Submitted. Value= " + $("input:first").val());
                return false;
        });

        $("#keywords")
            .focus(function() {
                if ($(this).val() == 'Search') {
                    $(this)
                    .removeClass('inputblank')
                    .val('');
                }
            })
            .blur(function() {
                if ($(this).val() == '') {
                    $(this)
                    .addClass('inputblank')
                    .val('Search');
                }
            });
    });
</script>

И это было бы HTML:

<form id="search_form">
    <fieldset>
        <legend>Search the site</legend>
            <label for="keywords">Keywords:</label>
        <input id="keywords" type="text" class="inputblank" value="Search"/>
    </fieldset>
</form>

я надеюсь, что достаточно сделать, Вы заинтересовали и GAJAXLibs и jQuery.

5
задан frankie boyle 2 December 2009 в 16:15
поделиться

4 ответа

Как я могу получить только javascript, а не обернутую функцию в IE 6/7

Обычно вы вообще не хотите полагаться на строковые значения для встроенных обработчиков событий ( на самом деле вам следует вообще избегать использования встроенных атрибутов обработчика событий в пользу привязки к функциям из скрипта - особенно если вы используете jQuery, где этот подход является нормой). Но если вам нужно, обходной путь - это метод DOM getAttributeNode .

var link= $('a')[0]; // or whatever
alert(link.getAttributeNode('onclick').value);
4
ответ дан 14 December 2019 в 04:40
поделиться

Internet Explorer <8 имеет полностью сломанную реализацию setAttribute и getAttribute, которые работают со свойством с заданным именем вместо атрибута . с заданным именем. 12110] Я не знаю, как обойтись.

2
ответ дан 14 December 2019 в 04:40
поделиться

Вы пробовали:

alert($('a').attr("onclick"))

В XHTML onClick неправильная версия.

0
ответ дан 14 December 2019 в 04:40
поделиться

лучше, чем добавление onClick атрибут имеет имя IE6 / IE7 это Решение:

$("a").click(function () { .. anything to do .. })
2
ответ дан 14 December 2019 в 04:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: