Вот функциональный пример с кэшем библиотеки 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.
Как я могу получить только javascript, а не обернутую функцию в IE 6/7
Обычно вы вообще не хотите полагаться на строковые значения для встроенных обработчиков событий ( на самом деле вам следует вообще избегать использования встроенных атрибутов обработчика событий в пользу привязки к функциям из скрипта - особенно если вы используете jQuery, где этот подход является нормой). Но если вам нужно, обходной путь - это метод DOM getAttributeNode
.
var link= $('a')[0]; // or whatever
alert(link.getAttributeNode('onclick').value);
Internet Explorer <8 имеет полностью сломанную реализацию setAttribute и getAttribute, которые работают со свойством с заданным именем вместо атрибута . с заданным именем. 12110] Я не знаю, как обойтись.
Вы пробовали:
alert($('a').attr("onclick"))
В XHTML onClick неправильная версия.
лучше, чем добавление onClick атрибут имеет имя IE6 / IE7 это Решение:
$("a").click(function () { .. anything to do .. })