ButtonFunction is an option for ButtonBox which specifies the function to execute when the button is active and is clicked on.
The default setting for ButtonFunction causes the button to paste its contents at your current notebook selection.
ButtonFunction is used only with the setting Active->True either for the individual button, or for the cell which contains it.
With ButtonFunction->f the first argument supplied to f is specified by the setting for ButtonSource, and the second argument by the setting for ButtonData.
Standard Mathematica precedence rules require parentheses in ButtonFunction->(body &).
Settings for ButtonFunction are often inherited from button styles via the ButtonStyle option.
With the default setting ButtonEvaluator -> None the expression constructed from the button function is sent to the front end for evaluation.
See The Mathematica Book: Section 2.10.6.
See also: ButtonEvaluator, ButtonNote, NotebookApply, ButtonNotebook.