JavaScript, o manipulador de eventos é sempre chamado, mesmo que o evento não seja gerado

i tem o seguinte código que estende o JQuery e adiciona um método ao JQuery:

$.fn.attachWithMessage = function () {
  $(this).focusin(showMessage());
}

function showMessage() {
    alert('hi');
}

para que eu possa usar esse código da seguinte maneira:

<input type="text" name="name" id="textbox" />
$(document).ready(function () {
   $("#textbox").attachWithMessage ();
});

Quando carrego a página pela primeira vez, uma caixa de mensagem é exibida com ('oi'

mesmo se eu não clicar na caixa de text

Também tentei o evento click e a mensagem ainda aparece automaticament

alguma ideia ?

questionAnswers(2)

yourAnswerToTheQuestion