how can i change script to detect mouse click not mouse over

[HideInInspector]
public string title;

[HideInInspector]

public Material material ;
[HideInInspector]

public MaterialChanger obj ;

private MeshRenderer ChildRenderer;
private bool buttonEnabled;

void Start () {
	ChildRenderer = transform.GetChild (0).gameObject.GetComponent<MeshRenderer> ();
	ChildRenderer.material = material;

	StartCoroutine (EnableButton());

}

private IEnumerator EnableButton(){
	yield return new WaitForSeconds(0.3f);

	buttonEnabled = true ;
}
public void OnPointerEnter () {

	Debug.Log ("OnPointerEnter");

	obj.PointertOverButton = true;
	if (buttonEnabled == true) {
		obj.ObjectToChange.material = material;
	}

}

public void OnPointerExit () {

	Debug.Log ("OnPointerExit");

	obj.PointertOverButton = false;
	if (buttonEnabled == true) {
		StartCoroutine(obj.TryDestroyMenu());	
	}

}

public void OnPointerDown () {

	Debug.Log ("OnPointerDown");
	
	obj.ObjectToChange.material = material;
}

}

make your class inherit from IPointerEnterHandler class myClass : Monobehavior, IPointerEnterHandler

specify void OnPointerEnter() that is what to do when script has pointer entering its gameObject

make sure its game object has a UI element which has canvas raycast enabled.