==
сравнивает ссылки на объекты в Java и не является исключением для объектов String
.
Для сравнения фактического содержимого объектов (в том числе String
) необходимо использовать equals
.
Если сравнение двух объектов String
с использованием ==
оказывается true
, это связано с тем, что объекты String
были интернированы, а виртуальная машина Java имеет несколько ссылки указывают на тот же экземпляр String
. Не следует ожидать сравнения одного объекта String
, содержащего то же содержимое, что и другой объект String
, используя ==
для оценки как true
.
А вы пробовали что-то вроде этого:
$("a").removeAttr("onclick");
В вашем случае событие onCick переопределяет событие jQuery. Что вы могли бы сделать, это:
$('a').unbind('click').click(function(){
alert('why hello there children.');
})
Но я считаю, что это должно быть включено после
<a href='#' onclick='return showform(this)'>click me</a>
Тем не менее, вам действительно не следует использовать onClicks ... это делает код очень сложным для поддержки и изменения (как вы выяснили).
Если вы используете такой jQuery, вам не нужны обработчики в HTML. Разве вы не можете просто удалить атрибут onClick
?
Если вы беспокоитесь о том, что что-то сломалось, выполните поиск и замените на:
onclick='return showform(this)'
и замените на
class='showform'
Тогда вы можете сделать:
$('a.showform').click(function (e) {
e.preventDefault();
return showform(this);
});
что позволит поддерживать работу существующих обработчиков.